3 votes

Commutation du mode inline/fullscreen de VideoView

Je travaille sur un lecteur vidéo personnalisé sous Android. J'utilise VideoView pour lire la vidéo. Initialement, mon VideoView sera d'une certaine taille (disons taille = (largeur, hauteur) = (400, 300)). L'un des boutons de contrôle de ma vue vidéo personnalisée est "Expand/Collapse". Après avoir cliqué sur le bouton "Expand/Collapse", je veux définir la taille de la VideoView en plein écran (c'est-à-dire la taille du plein écran de l'appareil) si la taille actuelle de la VideoView est Inline et vice versa (du plein écran à Inline également).

Quelqu'un connaît-il la bonne façon d'effectuer la tâche ci-dessus ?

10voto

Bigflow Points 1611

Tout d'abord, vous avez le courage de poser une question sur Android et d'avoir un logo iOS ;) (blague)

Mais, je pense que tu peux utiliser ça :

    DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics);
    android.widget.LinearLayout.LayoutParams params = (android.widget.LinearLayout.LayoutParams) videoView.getLayoutParams();
    params.width =  metrics.widthPixels;
    params.height = metrics.heightPixels;
    params.leftMargin = 0;
    videoView.setLayoutParams(params);

et de le remettre en place :

    DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics);
    android.widget.LinearLayout.LayoutParams params = (android.widget.LinearLayout.LayoutParams) videoView.getLayoutParams();
    params.width =  (int) (400*metrics.density);
    params.height = (int) (300*metrics.density);
    params.leftMargin = 30;
    videoView.setLayoutParams(params);

Je suppose que vous savez comment faire un OnClickListener .

J'ai eu l'information ici : VideoView Full screen dans une application Android

Edit1
Je peux penser à 2 choses rapidement.
1. Ajoutez ceci : getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
2. ou essayez ceci :

YourButton.setVisibility(View.GONE);

ou

YourButton.setVisibility(View.INVISIBLE);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X