在Android中,当屏幕从纵向切换到横向时,如何调整元素标签进行调整

时间:2017-01-23 06:45:01

标签: android android-layout android-studio orientation

我想知道当我在两个方向之间切换时如何实现这一点。我尝试使用margin或centerVertical,但这只会保持在中心而不能调整。

how I desire my layout to work

1 个答案:

答案 0 :(得分:0)

创建 layout-land 目录并在此目录中设计横向模式设计,对于纵向模式,保持设计与布局目录中的设计相同。这将有助于管理不同设计的风景和肖像。

像这样:

res/layout-land [Landscape Mode]
main.xml 
res/layout-port [Portrait Mode ]
main.xml

在Manifest.xml中,将方向配置更改为您的活动标记

android:configChanges="orientation​"

现在将xml内容设置为您的活动覆盖onConfigurationChanged方法并设置如下内容:

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        // Checks the orientation of the screen
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
            setContentView(R.layout.main);//This main.xml is in layout-land folder
        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
            Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
            setContentView(R.layout.main);//This main.xml is in layout folder
        }
    }