android 横竖屏切换

①不理会。。
②只竖屏显示(android:screenOrientation="portrait")
   只横屏显示(android:screenOrientation="landscape")
③简单的防止重载:
   在 AndroidManifest.xml中加入:android:configChanges="orientation|keyboardHidden"
   在activity中重载onConfigurationChanged事件

  1.     @Override
  2.     public void onConfigurationChanged(Configuration config) {
  3.         super.onConfigurationChanged(config);
  4.     }
复制代码

④横竖屏分别布局
论坛上也有很多讲解这部分的,但像我这样的新手还是一头雾水,今看到guoen的一篇文章,真是豁然开朗,遂分享之~
横竖屏分别布局的方法是:
在res下新建
layout-land 横屏
layout-port 竖屏
然后把layout中的xml文件分别考到以上目录,修改下布局就可以了代码中不做任何更改。

在 AndroidManifest.xml文件中的 主Activity中加入

  1. android:configChanges="orientation|keyboardHidden"
复制代码
然后在主Activity中的onConfigurationChanged加入
  1. @Override
  2.         public void onConfigurationChanged(Configuration config) {
  3.                 super.onConfigurationChanged(config);

  4.                 if (config.orientation == Configuration.ORIENTATION_PORTRAIT) {
  5.                         setContentView(R.layout.main);  //布局
  6.                         tv = (TextView) findViewById(R.id.EditText01); //控件
  7.                 }

  8.                 if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
  9.                         setContentView(R.layout.main);  //布局
  10.                         tv = (TextView) findViewById(R.id.EditText01);  //控件
  11.                 }
  12.         }
复制代码
参看运行结果:

竖屏:
1.JPG


横屏:
2.JPG

你可能感兴趣的:(android,xml)