【问题标题】:Opening activity in landscape mode without locking the orientation在横向模式下打开活动而不锁定方向
【发布时间】:2016-01-16 10:19:03
【问题描述】:
我想最初以横向打开一个活动,但我不想锁定该方向。这意味着用户可以在旋转时切换方向。我尝试将以下代码添加到活动。它以横向模式打开活动,但是它被锁定了。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
【问题讨论】:
标签:
android
android-activity
orientation
android-orientation
【解决方案1】:
通过在您的活动中添加android:configChanges="orientation|keyboardHidden",您可以处理方向改变时的操作。
@override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
//change orientation here
} else if (newConfig.orientation ==Configuration.ORIENTATION_LANDSCAPE{
//change orientation here
}
}
【解决方案2】:
试试这个...
在 Android Manifest.xml 的活动标签中添加这一行
android:screenOrientation="landscape"
如下:
<activity
android:name="com.abc.def.MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape" />