Так я этот код, который называется onConfigurationChanged:андроид видеокадр не заполнит экран на пейзаж
private void setVideoLayoutParams(){
LinearLayout.LayoutParams params;
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
// this works as expected
showNavigationAndStatusBars();
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
params = new LinearLayout.LayoutParams(size.x, size.x * 9/16);
}else{
hideNavigationAndStatusBars();
// this does not work properly
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
params = new LinearLayout.LayoutParams(size.x, size.y);
}
controller.setPauseButtonSize();
Log.d(TAG, "video layout params set : " + params.width + "/" + params.height);
videoFrame.setLayoutParams(params);
}
private void hideNavigationAndStatusBars(){
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
private void showNavigationAndStatusBars(){
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(uiOptions);
}
Когда экран повернут в ландшафт, навигации и статус бары исчезают. Однако мой видеофрагмент не заполняет экран.
Небольшая часть в правой части экрана остается пустой и равна высоте навигационной панели. Еще одна небольшая часть в нижней части экрана, равная высоте панели уведомлений, остается пустой.
Когда параметры созданы, мой регистратор показывает 1794/1080. Когда я касаюсь экрана, я регистрирую размер видеофрагмента, и он показывает 1794/1009. Я думаю, это должно показать, в обоих случаях, 1800/1080.
Что я делаю неправильно?
просто попробовал. Я получил тот же результат :( – kimv
Попробуйте создать ландшафтный макет xml и сделайте так, как я сказал. Это работает для меня. – Nivedh
Не работает. Может ли это иметь какое-то отношение к тому, что я удаляю только навигацию и Строки состояния в ландшафте? – kimv