Почему Он не Меняется layout (Portrait/Landscape), когда крутится dispositivio?

У меня есть осуществленные закладки с viewpager, завися ориентация экрана (Portrait/Landscape) они должны менять себе соответственно layout, распределенный для каждого вида, но он не меняется, пребывает с layout, который инициализировал активность, какую-то идею

я попытался несмотря на то, что менял ему на манифест следующее свойство в активность:

....
android:configChanges="orientation|keyboardHidden|screenSize"
....

но без какого-либо результата

2
задан 12.01.2017, 01:45
0 ответов

Что ты комментируешь в твоем вопросе, что ты обработал информацию:

android:configChanges="orientation|keyboardHidden|screenSize"

только он служит для того, чтобы не разрушить Activity покрутив устройство, но он не служит для того, чтобы позволить никоим образом покрученного.


Проверь внутри тебя AndroidManifest.xml если ты не считаешь определенной ориентацию, уже будьте в приложении или в Activity:

 android:screenOrientation="< orientación >".

Если ты определил

 android:screenOrientation="portrait"

только он позволил бы вертикальную ориентацию.

Если ты определил

 android:screenOrientation="lanscape"

только он позволил бы горизонтальную ориентацию.

Programaticamente могут реализовывать то же самое, проверяют, если не блокирована ориентация:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

   //Define únicamente orientación vertical. 
   setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}

Другой выбор состоит в том, чтобы в settings твоего устройства была блокированной ротация! =P

introducir la descripción de la imagen aquí

3
ответ дан 03.12.2019, 17:44
  • 1
    большое спасибо @Elenasys уже я протестировал все выборы, что я preporcionas, но оно только функционирует, когда у меня нет данных в контроле..., я очень благодарен со временем, что ты берешь, ответив.... –  12.01.2017, 19:27

Восток заявление не значит больше ничего, что можно предупреждать в систему, которую ты планируешь управления об этих изменениях в конфигурации с твоим собственным кодом.

Тогда ты должен помогать:

@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();
    }
}

и внутри это делает изменения в Views, в которых ты нуждаешься.

2
ответ дан 03.12.2019, 17:44