在Android中自动实现横竖屏切换的问题

时间:2022-07-15 22:53:16
在Android中自动实现横竖屏切换的问题

http://developer.android.com/training/basics/supporting-devices/screens.html
参照Google推荐的做法

在你项目的res 文件夹下面加个 layout-land/ 然后再里面放入横屏的布局文件,这样Android会自动帮你切换布局。
MyProject/
    res/
        layout/
            main.xml
        layout-land/
            main.xml

在res目录下新建立两个文件夹:layout-port和layout-land.
把横屏的xml放到layout-land里,把竖屏的放到layout-port里,取一样的名字。

还有一种直接在代码中写的方式定义横竖屏切换的不同布局

 @Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
setContentView(R.layout.landscape); //布局1
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
setContentView(R.layout.portrait); //布局2
}
}