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);
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值