2 usniyo usniyo 于 2013.01.21 16:44 提问

关于android 横竖屏的一个问题。求高手赐教。

关于android 横竖屏的一个问题。求高手赐教。
activity被我强制设为横屏了,但是在此activity上锁屏后再解锁屏,这时此activity竟是从竖屏切换到横屏了,也就是说锁屏后横屏的activity又变回竖屏了。这是怎么回事?如何让被我强制设为横屏的activity一直保持横屏,即使在锁屏的时候?

6个回答

baimy1985
baimy1985   2013.01.21 19:15
已采纳

其实我很奇怪为什么你的屏幕没有转成横屏,因为你已经设置横屏了。 如果一个界面是横屏状态下锁屏,如果锁屏界面是竖屏,那解锁后会先竖屏再转成横屏,貌似和锁屏界面有点关系,不过还是无法回答你的问题,只是一个实例而已。估计还是要看看KeyGuardViewMeditor.java、windowmanagerservice.java和PhoneWindowManager.java这些相关的类才能完全清楚吧。

usniyo
usniyo 呃……只有你的回答最接近我问题的答案了,之所以问这个问题,是因为在锁屏时屏幕的切换导致了一些错误的发生。可能是android自身的问题,我所想要的理想结果比较难以实现。不过现在问题已经解决了,只需判断一下当前屏幕方向,什么状态该做什么事问题解决了。呵!有时候就是这个样子的,脑子有问题,老想着把墙撞倒了过去,却不尝试着绕道而行。
接近 5 年之前 回复
sundesheng125
sundesheng125   2013.01.21 17:18

看看这篇文章是否有用http://blog.csdn.net/sundesheng125/article/details/8507213
在windowmanagerservice里面下功夫。

cytown
cytown   2013.01.21 17:25

在AndroidManifest.xml里面设置Activity的orientation是landscape就行。

yongyong_21
yongyong_21   2013.01.23 16:42

如果你想以程序的方式改变屏幕方向,在竖向屏幕的 Activity 中调用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

横向屏幕中

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

或者,如果在 Manifest 添加

<activity
        android:name=".activity.MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"

        android:configChanges="orientation">

想了解更多,请参考:
http://developer.samsung.com/android/technical-docs/Handling-Orientation-in-Android

CSDN_Ask
CSDN_Ask   2013.01.23 16:54

在 AndroidMainfest.xml

   <activity
        android:name=".path.to.Activity"
        android:configChanges="orientation"
        android:screenOrientation="landscape" >
I_absolutely
I_absolutely   2015.12.11 17:29

很不错,有用,谢谢。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!