在写slide-menu的时候,如果横竖屏切换会出现问题,这就需要程序在判断有横竖屏切换的时候关闭menu。
解决方案: 手机在进行横竖屏切换的时候会触发onConfigurationChanged事件,但是需要在 Manifest中设置才可用。
// Mainfest.xml
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"></uses-permission>
...
<activity android:name=".MainActivity" android:configChanges="orientation|layoutDirection|screenSize">
<!--screenSize一定要加上,否则不会触发onConfigurationChanged-->
...
activity中的处理,就是有横竖屏切换的时候关闭menu
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.d(TAG, "onConfigurationChanged called");
drawerLayout.closeDrawers();
}
如果不这样写,那么每次横竖屏切换都会走onCreate
,会造成数据丢失,所以这里需要根据实际需要来选择。