如何轮换应用内容?

时间:2011-09-12 00:48:06

标签: android accelerometer

我已经很好地理解了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"。谢谢你的帮助!

3 个答案:

答案 0 :(得分:0)

尝试在onOrientationChanged中为root视图调用forceLayout()。

答案 1 :(得分:0)

  

但我不知道如何告诉android切换到第二个视图   屏幕旋转时

你不必告诉它。如果您只是在项目中创建layout-land文件夹,系统将知道如果设备进入横向模式,则从该文件夹中提取布局文件。

答案 2 :(得分:0)

从你的清单中留下那个android:screenOrientation =“sensor”。这是默认设置。