我已经搜索了很长时间但没有任何作用。我有一个活动,我希望它的方向在活动的整个生命周期中被锁定。这个方向必须是开始方向。我的意思是,当活动开始于任何方向时,它必须忽略方向变化。我怎么能这样做? 谢谢回复..
答案 0 :(得分:3)
通过代码,您可以请求为您的活动“onCreate”调用方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
您可以像这样阅读当前的方向:
getResources().getConfiguration().orientation;
因此,您可以阅读当前的方向并要求它保持不变:
int orientation = getResources().getConfiguration().orientation;
setRequestedOrientation(orientation);
您还可以通过在清单中添加configChanges:orientation来禁用方向更改中的活动生命周期事件:
<activity android:name="MyActivity"
android:configChanges="orientation">
...
</activity>
答案 1 :(得分:0)
onConfigurationChanged()
但请勿致电super.onConfigurationChanged(newConfig)
答案 2 :(得分:0)
将行android:configChanges="orientation"
添加到清单文件中的活动部分。这将告诉Android您想要自己处理方向更改。
然后实施活动的onConfigurationChanged()
方法并随意处理更改。在你的情况下,你可能根本就什么都不做。
答案 3 :(得分:-1)
在每个活动
下的清单中添加以下行<activity android:name="MyActivity" android:screenOrientation="landscape"></activity>