2

我正在使用android的主/详细信息流,我正在尝试检测屏幕方向以使主部分在纵向模式下更小,但我遇到了一些困难,我写了这个方法:

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);

        if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){

            setContentView(R.layout.activity_analyse_list);
            LinearLayout layout = (LinearLayout) findViewById(R.id.mastermenu);

            layout.setLayoutParams(new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, (float) 0.5));
        }
    }

我把它放在ListActivity第一个也是主要的活动中,但是当我翻转平板电脑时没有任何反应,我试图用它Log.d来查看是否onConfigurationChanged在旋转时调用了它,但在 logcat 上什么也没有。

4

1 回答 1

2

如果您想要 2 个不同的布局,具体取决于屏幕方向,您可以通过添加 layout-land 文件夹并为该方向定义不同的布局来为横向定义不同的布局。

与纵向相比,在该布局中,您可以进行任何您喜欢的更改。您不必自己做任何事情,android会处理它

于 2013-09-16T10:05:53.400 回答