视频没有在横向模式中使用一些设备在Android的使用videoview的设备全屏幕
问题描述:
我的视频工作正常,在纵向模式,但在横向它不适合全屏(我不想使用布局土地)。我正尝试以编程方式更改视图,但这不像预期的那样工作。我试图让使用下面的代码的设备的分辨率:1080 * 1920我得到了高度和宽度值分别为1080和1776的分辨率的设备上视频没有在横向模式中使用一些设备在Android的使用videoview的设备全屏幕
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
WindowManager wm =(WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
height = metrics.heightPixels
width = metrics.widthPixels
测试。 (对于某些设备,我得到正确的价值观和videoview在两个方向正常工作)
我对着已经要求在下面同样的问题链路
video not taking full screen in landscape mode using videoview android
答
通过使用此代码解决。
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT
);
private void enterFullScreen(){
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
mVideoView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
mVideoView.setLayoutParams(layoutParams);
}
private void exitFullScreen(){
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
mVideoView.setSystemUiVisibility(0);
isFullScreen = false;
mFullScreen.setVisibility(View.INVISIBLE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_TOP);
layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_LEFT);
layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_RIGHT);
}else {
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,0);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP,0);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT,0);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,0);
}
mFullScreen.setVisibility(View.VISIBLE);
enter code here`enter code here`
mVideoView.setLayoutParams(layoutParams);
}
您是否尝试过您提到的问题中提供的答案? – SilverNak
是的,但没有奏效 –