VideoView pour correspondre parent de la hauteur et de conserver les proportions

J'ai un VideoView qui est mis en place comme ceci:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:id="@+id/player" 
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

    <VideoView
        android:id="@+id/video"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:layout_centerVertical="true" />

    <ProgressBar
        android:id="@+id/loader"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

</RelativeLayout>

Mais la VideoView correspond à la largeur du conteneur parent, et la hauteur est définie en fonction du rapport d'aspect de l'animation chargée.

Je voudrais faire tout le contraire, je veux que le VideoView à la hauteur du parent tout en gardant le ratio d'aspect intact, la vidéo est découpée sur les côtés.

J'ai réussi à étirer le VideoView pour remplir le parent, mais alors le ratio d'aspect n'est pas conservée.

L'autre chose est, je suis en ajoutant MediaController à la VideoView comme ceci:

MediaController controllers = new MediaController(this) {
    @Override
    public void hide() {
        if (state != State.Hidden) {
            this.show();
        }
        else {
            super.hide();
        }
    }
};
controllers.setAnchorView(videoView);
videoView.setMediaController(controllers);

videoView.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        controllers.show();
    }
});

Cela fonctionne très bien, et les contrôleurs de toujours rester sur place, mais la hauteur des contrôleurs est de ne pas être pris en compte lors du calcul de l'endroit où placer la vidéo (puisque c'est centrée verticalement).

Mes deux questions sont:

  1. Comment puis-je faire la VideoView la hauteur de la mère, tout en conservant le ratio d'aspect?
  2. Comment puis-je faire la VideoView prendre en compte la hauteur de ses contrôleurs?

Grâce.

  • Parlez-vous une WebView ou VideoView? Vous changer à mi-chemin vers le bas.
  • Pour la première fois d'une question répondu à ma question au lieu de réponses!! Mon problème est que j'ai un espace blanc sous la vidéo en plein écran. J'ai été réglage de la layout_height à match_parent. La solution était de le mettre wrap_content et de donner à la mère un fond noir. Que, et d'avoir la VideoView centré verticalement dans son parent.
InformationsquelleAutor Nitzan Tomer | 2012-11-28