2014-11-28 5 views
11

Ich habe ein ImageView und ein VideoView in ein RelativeLayout eingefügt. Die ImageView kann skaliert werden, um das gesamte Layout mit scaleType="fitXY" zu füllen. Es gibt jedoch kein ähnliches Skalierungsattribut für das VideoView. Übrigens, ich verberge die Videosteuerung mit setMediaController(null) und nur der Videoinhalt wird angezeigt. Ist es möglich, den VideoView zu skalieren, ohne das Seitenverhältnis beizubehalten? Hier ist das Layoutbeispiel.Android VideoView Wie skaliert man den ImageView-Skalierungstyp fitXY?

<RelativeLayout 
    android:layout_width="280dp" 
    android:layout_height="200dp"> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/image" 
     android:scaleType="fitXY" /> 

    <VideoView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/video" 
     android:visibility="invisible" 
     android:layout_centerInParent="true" /> 
</RelativeLayout> 
+0

auf gegebene statische Breite und Höhe Versuchen. –

+0

Es funktioniert nicht. Ich versuche '' zu setzen, bekomme aber das Seitenverhältnis beibehalten. – Jones

+0

hast du mein ans versucht? –

Antwort

24

Try VideoView innerhalb RelativeLayout und setzen unter Eigenschaften setzen Video in vollem Umfang nutzen zu zeigen:

<VideoView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/video" 
    android:visibility="invisible" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true"/> 

Hinweis: Bitte setzen Sie Wert Sichtbarkeit auf Ihrer Anforderung basiert.

+0

Es funktioniert! Danke für die Hilfe. – Jones

+0

@ Jones, Froh, dir zu helfen. –

+0

Es funktioniert und so einfach: D – godbye

0

Mein Weg ist überschreiben die onMeasure Methode von Videoview

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    setMeasuredDimension(getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec), 
      getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec)); 
}