Как изменить макет экрана в соответствии с ориентацией? - PullRequest
3 голосов
/ 07 февраля 2011

в портрете у меня 5 икон.4 иконки в первом ряду и 1 значок во втором ряду.но в ландшафте 5-й значок должен уместиться в первом ряду.как это решить?

enter image description here

Ответы [ 4 ]

6 голосов
/ 07 февраля 2011

Используйте различные файлы макетов для портретной и альбомной ориентации. используйте layout-land для альбомной ориентации. Android автоматически выберет ваш ландшафтный макет при изменении ориентации.

3 голосов
/ 07 февраля 2011

Для этого вы берете одну линейную раскладку и задаете, сколько значков в ней, и снова берете еще одну линейную раскладку и задаете для нее значки. Это один из способов, а другой способ - создать имя папки как layout-land идобавьте этот файл макета (основной .xml) в этот файл и расположите его так, как вам нужно. Layout-land автоматически берет этот файл при изменении ориентации устройства.

layout ----- Portrait

макет-земля ------- Пейзаж

1 голос
/ 07 февраля 2011

Применить код в oncreate () mwthod

 if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT)
 {
    // do code here to arrange the layout as for portrait mode
 }
 else
 {
    // do code here to arrange the layout as for Landscape mode   
 } 

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

0 голосов
/ 22 декабря 2012

используйте layout-land и не используйте android: configChanges = "direction" в вашем манифесте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...