Android новичок: переключение между ландшафтным режимом и портретным режимом - PullRequest
1 голос
/ 01 июля 2011

Я следовал за разработчиками Android Учебник , чтобы создать простую раскладку вкладок.С учебником все в порядке, у меня работает макет вкладок.

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

Я не уверен, как правильно это сделать?Я имею в виду правильный способ определения разметки вкладок для режимов портрет и пейзаж .Кто-нибудь может дать несколько предложений?

Ответы [ 3 ]

0 голосов
/ 01 июля 2011

Вам нужно настроить 2 разных макета для занятий, один в портретном ("нормальном") режиме, другой в ландшафтном режиме. Это подразумевает не использовать TabActivity.

Поместите landscape_tab.xml в папку layout-land внутри папки res (res/layout-land)

Поместите portrait_tab.xml в папку layout-port внутри папки res (res/layout-port)

Конечно, вы должны создать папку layout-land и layout-port в каталоге res вручную

Ваше решение здесь android: ориентация = "вертикаль" не работает для TabWidget

ура :) 1019 *

0 голосов
/ 03 мая 2013

На вашем AndroidMainfest.xml добавьте

<activity android:name=".MyActivity"
    android:configChanges="orientation" >
</activity>

А когда приложение изменит ориентацию, переопределите метод на MyActivity.java

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            // do what you want
    }
    else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
            // do what the other thing you want
    }

}

Это из: http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange

Подсказка: при изменении ориентации действие перезапускается, если вы не добавили android:configChanges.

0 голосов
/ 01 июля 2011

Создайте два файла макета, один для портрета и один для пейзажа.разместите эти layout-port и layout-land соответственно.Вам нужно будет управлять ориентацией экрана, если вы хотите сохранить состояние экрана

...