Как сделать просмотр видео во весь экран, когда я нажимаю кнопку?

#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-макет активности