我有一个视频播放器,用户也可以通过旋转设备并按下按钮来手动更改方向。 当我点击按钮时,方向变为横向,但现在方向被锁定,用户无法仅通过旋转设备就移回到纵向 我试过这个: -
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
和这: -
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
但似乎没有任何效果。 那么,我怎样才能始终保持方向解锁,用户可以通过点击按钮切换方向,保持方向解锁?
答案 0 :(得分:0)
在改变您的愿望条件后试试这个
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
答案 1 :(得分:0)
添加android:screenOrientation =“portrait”>在申请部分。
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".App"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
答案 2 :(得分:0)
使用按钮更改方向后,在处理程序中将方向更改为未指定,以确保方向已更改。这是我的代码:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT);
new Handler().postDelayed(new Runnable() {
public void run() {
// make screen orientation unspecified (sensor change it
//according to user action)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
}, 3000);
答案 3 :(得分:0)
我还必须在打开一个 Activity 时将其方向更改为 180,然后让用户旋转回纵向并锁定它。
我刚刚在 onCreate 中添加了这些行:
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
活动在清单中被锁定为纵向模式。
<activity
android:name=".ui.GalleryActivity"
android:launchMode="singleTask"
android:screenOrientation="sensorPortrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" />