我已经很好地理解了OrientationEventListener,并检测了屏幕方向。但是,如何旋转或调整实际内容(按钮,图像,标签,任何对象)?现在,当用户旋转手机时,内容不会移动或旋转,并且它会向用户侧面显示。
注意:我正在使用Droid 2进行测试,我注意到如果我滑出键盘,屏幕会旋转,这在我看来有点奇怪。
非常感谢任何帮助!
编辑:这是我的代码:
OrientationEventListener ole = new OrientationEventListener(this) {
@Override
public void onOrientationChanged(int arg0) {
TabHost ll = (TabHost) findViewById(android.R.id.tabhost);
try {
ll.forceLayout();
} catch (NullPointerException e) {
System.exit(0);
e.printStackTrace();
}
}
};
ole.enable();
不幸的是,当程序到达ll.forceLayout()时,它会抛出NullPointerException并导致系统关闭。
已解决:我必须编辑清单android:screenOrientation="sensor"
。谢谢你的帮助!
答案 0 :(得分:0)
尝试在onOrientationChanged中为root视图调用forceLayout()。
答案 1 :(得分:0)
但我不知道如何告诉android切换到第二个视图 屏幕旋转时
你不必告诉它。如果您只是在项目中创建layout-land文件夹,系统将知道如果设备进入横向模式,则从该文件夹中提取布局文件。
答案 2 :(得分:0)
从你的清单中留下那个android:screenOrientation =“sensor”。这是默认设置。