2014-11-28 10 views
11

Metto un ImageView e un VideoView in un RelativeLayout. ImageView può essere ridimensionato per riempire l'intero layout tramite scaleType="fitXY". Tuttavia, non esiste un attributo di scala simile per VideoView. A proposito, nascondo il controllo video impostando setMediaController(null) e vengono visualizzati solo i contenuti video. È possibile ridimensionare la visualizzazione video senza mantenere le proporzioni? Ecco l'esempio di layout.Video AndroidVisualizza come ridimensionare il tipo di bilancia ImageView 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

Prova a larghezza e altezza statica. –

+0

Non funziona. Provo a impostare '' ma ottieni il risultato dell'aspetto di mantenimento. – Jones

+0

hai provato i miei ans? –

risposta

24

provare a mettere dentro VideoViewRelativeLayout e impostato al di sotto di immobili da mostrare il video a schermo intero:

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

Nota: Si prega di impostare il valore di visibilità base alle proprie esigenze.

+0

Funziona! Grazie per il tuo aiuto. – Jones

+0

@ Jones, felice di aiutarti. –

+0

Funziona e così semplice: D – godbye

0

Il mio modo è l'override del metodo onMeasure di VideoView

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