首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

【转】禁止android横屏跟竖屏的切换

2012-09-24 
【转】禁止android横屏和竖屏的切换在某些场合可能需要禁止横屏和竖屏切换,实现这个要求很简单,只要在 Andro

【转】禁止android横屏和竖屏的切换
在某些场合可能需要禁止横屏和竖屏切换,实现这个要求很简单,只要在 AndroidManifest.xml 里面加入这一行
android:screenOrientation="landscape"(landscape 是横向,portrait 是纵向)。
不过android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在 Activity再次Create的时候载入配置。
在activity加上 android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.
而是去调用 onConfigurationChanged(Configuration newConfig). 这样就可以在这个方法里调整显示方式.

MainActivity中:

@Override  public void onConfigurationChanged(Configuration newConfig) {       try {           super.onConfigurationChanged(newConfig);           if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {               // land           } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {               // port           }       } catch (Exception ex) {       }     }  



AndroidManifest.xml中:

 <?xml version="1.0" encoding="utf-8"?>  <manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.himi" android:versionCode="1" android:versionName="1.0">      <application android:icon="@drawable/icon" android:label="@string/app_name">          <activity android:name=".MainActivity" android:label="@string/app_name"              android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation">              <intent-filter>                  <action android:name="android.intent.action.MAIN" />                  <category android:name="android.intent.category.LAUNCHER" />              </intent-filter>          </activity>      </application>      <uses-sdk android:minSdkVersion="4" />  </manifest>   

热点排行