我正在播放一个视频并且它有一个全屏图标。点击它我强行将设备方向旋转到横向模式。但是当我旋转屏幕时,视频仅被锁定为横向模式。它是没有回到potrait模式。我希望视频旋转发生类似于Youtube / Hotstar应用程序,其中旋转的变化发生在按钮点击和设备方向改变。请提示一些前进的方法。
findViewById(R.id.landscape).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
}
});
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setAutoOrientationEnabled(this,false);
}
问题:
我的简单要求是在使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENS OR_LANDSCAPE)强制旋转活动之后;如何在不调用setRequestedOrientation的情况下旋转设备再次返回potrait模式(ActivityInfo.SCREEN_ORIENTATION_SENS OR_POTRAIT);
答案 0 :(得分:0)
对于按钮,您只需使用以下行更改它:
Button buttonSetPortrait = (Button)findViewById(R.id.setPortrait);
Button buttonSetLandscape = (Button)findViewById(R.id.setLandscape);
buttonSetPortrait.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
});
buttonSetLandscape.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
});
回答:https://stackoverflow.com/a/18268304
使用以下代码设置设备方向更改时的视频方向
覆盖
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(NEWCONFIG);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
看一下这个答案:https://stackoverflow.com/a/5726776
要启用或停用自动轮播,请查看以下答案:(https://stackoverflow.com/a/4909079/4585226)
import android.provider.Settings;
public static void setAutoOrientationEnabled(Context context, boolean enabled)
{
Settings.System.putInt( context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, enabled ? 1 : 0);
}
添加AndroidManifest.xml的权限
<uses-permission android:name="android.permission.WRITE_SETTINGS" />