Существует хороший Google веб-страницы на этом @Handling Runtime Changes. Это охватывает, когда пользователь меняет экран между горизонтальным/вертикальным видом и приложениями переключения. Фрагмент кода:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
Этот код может быть помещен в подкласс Activity или Fragment.
В вашем манифесте XML, вы установили:
<activity android:name=".MyActivity"
android:configChanges="orientation">
Пожалуйста, держите нас в курсе, я хотел бы знать о вашем прогрессе. Когда-нибудь я тоже захочу сделать это. И я бы закодировал бы это так, если бы я сделал
Большое спасибо за вашу помощь. Но ваше решение касается деятельности только я думаю. Я хочу обнаружить обнаружение экрана на фрагменте. – thomaus
@thomaus, я попробовал, и, верьте или нет, это работает! Помните, что фрагмент может легко получить родительскую активность по getActivity().Я признаю, что вы беспокоили меня, и я подумал, что должен сказать вам, что вы должны добавить метод переопределения onConfigurationChanged в свой основной актив и передать информацию в Фрагмент, который является опцией. –
Для лучшей ясности, onConfigurationChanged() можно также разместить в подклассе Fragment. –