在Activity和XML中设置屏幕的横竖屏幕
功能概述:
Android中设置横屏和竖屏的方法
XML Layout清单:
[html]
activity
android:name="com.example.touchandscreen.MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation"
>
<!--
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation"
这两句为设置横屏和竖屏,在屏幕切换的时候默认为重新走OnCreate方法
当设置了configChange之后就不会再重新走onCreate方法
-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.touchandscreen.MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation"
>
<!--
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation"
这两句为设置横屏和竖屏,在屏幕切换的时候默认为重新走OnCreate方法
当设置了configChange之后就不会再重新走onCreate方法
-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
补充说明:
1、 landscape 是横向,portrait 是纵向 通过android:screenOrientation属性设置
2、 android:configChanges="keyboardHidden|orientation"
这两句为设置横屏和竖屏,在屏幕切换的时候默认为重新走OnCreate方法,当设置了configChange之后就不会再重新走onCreate方法,也不会重新初始化
Activity中的实现方式:
[java]
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
try {
if(this.getResources().getConfiguration().orientation == newConfig.ORIENTATION_LANDSCAPE){
Log.v("orientation", "ORIENTATION_LANDSCAPE");
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
try {
if(this.getResources().getConfiguration().orientation == newConfig.ORIENTATION_LANDSCAPE){
Log.v("orientation", "ORIENTATION_LANDSCAPE");
}
} catch (Exception e) {
e.printStackTrace();
}
}
补充:Web开发 , 其他 ,