Android横竖屏切换布局不正常的问题

    起因: 

    在垂直方向启动应用程序时候,横竖屏切换正常,但是在横屏启动程序时,Layout载入正常,但是绘图部分不正常,即横屏显示的是竖屏的布局,切换后竖屏是横屏的布局。

     解决:

     应该是在程序加载布局时,先获取手机当前的状态,如果是横屏,则去加载横屏布局,否则加载竖屏,而不是获取manifast.xml中设置的状态来判断加载那种布局。manifast中是主动去设置activity的横竖屏状态,是不依赖手机横竖状态的,如果xml设置了竖屏,那就算横屏启动程序,也是一样竖屏显示的。

       因此应该先注册一个Intent:    Intent.ACTION_CONFIGURATION_CHANGED
在receiver中getConfiguration().orientation来判断当前手机状态,然后去更新你的变量isPortrait


    Activity里面有onConfigurationChanged这个函数,你首先在manifest里面注册横竖屏事件类似于这个:
android:configChanges="keyboard|keyboardHidden|orientation"
这个的意思是键盘出现和隐藏,横屏的时候都会触发onConfigurationChanged里面的事件。
你可以在onConfigurationChanged里面加绘图大小的代码。

public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
}

你可能感兴趣的:(xml,android,layout,手机,keyboard)