处理屏幕配置变化
1、横竖屏适配
方式1:
通过layout配置
横屏和竖屏切换时,系统会把activity重新layout。
工程中有为适配横向屏幕的layout:
MyProject/
res/
layout/
main.xml
layout-land/
main.xml
默认的,layout/main.xml文件用作竖屏的layout。
方式2:
权限声明
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
在activity配置限监听系统设置变化
android:configChanges
<activity android:name="com.MainActivity" android:theme="@style/AppTheme" android:configChanges="orientation|screenSize|density"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
代码中动态切换横竖屏
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (getResources().getConfiguration().orientation ==Configuration.ORIENTATION_LANDSCAPE) { // land do nothing is ok Log.e("060","LANDSCAPE"); } else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){ // port do nothing is ok Log.e("060","PORTRAIT"); } }