#android #kotlin #fullscreen #android-videoview
Вопрос:
У меня есть видеообзор, который используется для загрузки видео с URL-адреса. Я хочу, чтобы у него была строка состояния, как на YouTube. Я использовал MediaController, но у него есть только перемотка назад , перемотка вперед, пауза и возобновление. Я хочу, чтобы у него была кнопка, которая нажимается на весь экран и выходит из полноэкранного режима. Любая помощь, которую я ценю.
Ответ №1:
чтобы добавить полноэкранную кнопку в видеоплеер : 1 — Настройте манифест
<activity android:name=".YourPlayerActivity"
android:configChanges="keyboardHidden|orientation|screenSize">
** это предотвратит сброс проигрывателя при переходе на полноэкранный режим
2-шаг 2 : Добавьте новый контроллер в свой xml-дизайн ** просмотр изображений в полноэкранном режиме
3 — кнопка полноэкранного ввода
boolean fullscreen = false;
fullscreenButton = playerView.findViewById(R.id.exo_fullscreen_icon);
fullscreenButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(fullscreen) {
fullscreenButton.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, R.drawable.ic_fullscreen_open));
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
if(getSupportActionBar() != null){
getSupportActionBar().show();
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) playerView.getLayoutParams();
params.width = params.MATCH_PARENT;
params.height = (int) ( 200 * getApplicationContext().getResources().getDisplayMetrics().density);
playerView.setLayoutParams(params);
fullscreen = false;
}else{
fullscreenButton.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, R.drawable.ic_fullscreen_close));
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
|View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
if(getSupportActionBar() != null){
getSupportActionBar().hide();
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) playerView.getLayoutParams();
params.width = params.MATCH_PARENT;
params.height = params.MATCH_PARENT;
playerView.setLayoutParams(params);
fullscreen = true;
}
}
});
Комментарии:
1. Привет, не могли бы вы объяснить подробнее на шаге 2 ? Я не знаю, как добавить изображение в MediaController.
2. Конечно, не могли бы вы прислать мне свой XML-макет активности