2016-10-17 5 views
0

Если я запустил приложение в ландшафтном режиме, то он будет использовать элемент списка ландшафтов xml. но если я начну его в портретном режиме и поверните его в альбомный режим, он будет использовать элемент списка портретов xml для обеих конфигураций. Я использую onConfigurationChanged для определения изменения ориентации, но я не уверен, как сказать ему использовать правильный XML-файл. У меня есть два xml-файла с тем же именем, но один для пейзажа. Благодарю.Android: измените расположение элементов списка при изменении ориентации?

ответ

0

Если вы пытаетесь достичь этого вы должны иметь 2 папки для макетов следует назвать

layout-land/* 

другие

layout-port/* 

имя ваших макетов тот же

File.xml 

чем просто надуть их ОС позаботится об отдыхе.

Также см этого Android layout folders: layout, layout-port, layout-land

указанного андроид: configChanges = "ориентация" в AndroidManifest.xml. В этом случае указать снова setContentView() в в onConfigurationChanged() или удалить, что AndroidManifest.xml директива

Если хочет, чтобы продолжать использовать onconfigurationchanged(), чем просто надуть соответствующим образом.

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

ОК спасибо. Я указал две разные папки, но мне пришлось открыть папку макета в поисковом устройстве, чтобы увидеть две разные папки. Затем мне пришлось удалить «android: configChanges =» ориентация | screenSize | keyboardHidden »из файла манифеста. – mjpablo23

+0

Вы можете переключить свой вид в левом верхнем углу, если вы используете Android Studio. Если вы вручную настроите макеты, вы можете поместить их в такая же папка res. – skryshtafovych

+0

ok получил это, спасибо – mjpablo23