我按照android开发者tutorial创建了一个简单的标签布局。教程中的一切都很好,我得到了标签布局。
在默认的纵向模式下,标签位于屏幕顶部,但是当更改为横向模式时,顶部的标签会使屏幕看起来很奇怪,所以,我想找到当模拟器更改为横向模式时,屏幕左侧的标签垂直。
我不确定这样做的正确方法是什么?我指的是为纵向模式和横向模式定义不同标签布局的正确方法。有人可以提出一些建议吗?
答案 0 :(得分:0)
创建两个布局文件,一个用于纵向,一个用于横向。分别放置这些layout-port和layout-land。如果要保存屏幕状态,则必须处理屏幕方向
答案 1 :(得分:0)
您需要为活动设置2种不同的布局,一种是纵向(“普通”)模式,一种是横向模式。这意味着不使用TabActivity。
将landscape_tab.xml
放在res文件夹(res/layout-land
)
将portrait_tab.xml
放在res文件夹(res/layout-port
)
OfCourse你必须手动在res目录中创建layout-land
和layout-port
文件夹
您的解决方案就在这里 android:orientation="vertical" does not work for TabWidget
欢呼:)答案 2 :(得分:0)
在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
,则会重新启动活动。