在你的if和 else中分别,装在下不同情况的布局文件,两个里面分别setContentView 手动来处理,可靠些

解决方案 »

  1.   

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

  2.   

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

  3.   

    Activity里面有onConfigurationChanged这个函数,你首先在manifest里面注册横竖屏事件类似于这个:
    android:configChanges="keyboard|keyboardHidden|orientation"
    这个的意思是键盘出现和隐藏,横屏的时候都会触发onConfigurationChanged里面的事件。
    你可以在onConfigurationChanged里面加绘图大小的代码。public void onConfigurationChanged(Configuration newConfig) {
    // TODO Auto-generated method stub
    super.onConfigurationChanged(newConfig);
    }
      

  4.   

    Activity里面有onConfigurationChanged这个函数,你首先在manifest里面注册横竖屏事件类似于这个:
    android:configChanges="keyboard|keyboardHidden|orientation"
    这个的意思是键盘出现和隐藏,横屏的时候都会触发onConfigurationChanged里面的事件。
    你可以在onConfigurationChanged里面加绘图大小的代码。public void onConfigurationChanged(Configuration newConfig) {
    // TODO Auto-generated method stub
    super.onConfigurationChanged(newConfig);
    }