2014-11-28 31 views
11

Umieszczam ImageView i VideoView w RelativeLayout. Obraz można skalować, aby wypełnić cały układ przez scaleType="fitXY". Jednak nie ma podobnego atrybutu skali dla VideoView. Nawiasem mówiąc, ukrywam kontrolę wideo za pomocą zestawu setMediaController(null) i wyświetlana jest tylko zawartość wideo. Czy możliwe jest skalowanie VideoView bez zachowania proporcji? Oto przykład układu.Android VideoView, jak skalować jako typ skali ImageView w dopasowaniu X?

<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

spróbować danej szerokości i wysokości statycznej. –

+0

To nie działa. Próbuję ustawić '', ale uzyskaj wynik zachowania proporcji. – Jones

+0

czy próbowałeś moich ans? –

Odpowiedz

24

spróbować umieścić VideoView wewnątrz RelativeLayout i ustawić właściwości poniżej, aby zobaczyć film na pełnym ekranie:

<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"/> 

Uwaga: Proszę ustawić wartość widoczności w zależności od potrzeb.

+0

To działa! Dziękuje Ci za pomoc. – Jones

+0

@ Jones, Cieszę się, że mogę ci pomóc. –

+0

To działa i jest takie proste: D – godbye

0

Mój sposób jest zastąpić metodę onMeasure z VideoView

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