有两个Activity界面 a 和 b, a 设置了只能竖屏显示,b 可以随意切换,现在遇到一个问题,当竖屏时我从a 跳转到 b,b 显示后转成横屏显示,问题来了,当我按回退键返回a 时,a 只显示了一部分,其他部分是黑色,请问如何解决这个问题,谢谢.

解决方案 »

  1.   

    你在androidmanifest.xml中显示的强制要求下每个activity的方向,如果还显示不正确,可能是android的bug了,当然你的设计很奇怪,有没有曲线方法,哈哈
      

  2.   

    yitiaochongzi兄,我是在a 的activity配置中加了android:screenOrientation="portrait"属性,你可以这样试试,页面显示a 时,先改成横屏 然后跳转到 b ,b显示完成后,再回退到a ,就一定会出现这种情况的
      

  3.   

    或者代码方式强制a竖屏
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
      

  4.   

    我在a 中用了一个控件是extends SurfaceView 的,打印了一下,在跳到b 之前SurfaceHolder holder 
    Canvas canvas = holder.lockCanvas();  canvas 画布的宽高是对的,但是从b 回退到a 后画布的宽高就变成横屏的宽高了,怎么解决呢