2010-07-16 18 views
5

Voglio diplay un'immagine in modo che occupi una minima larghezza dello schermo e debba ridimensionare nel suo formato (la larghezza dell'immagine potrebbe essere più piccola o più grande della larghezza minima) Voglio anche avere un bordo di dimensioni fisse intorno questa immagine. Questa è la mia sezione xml per esso:.Android come rendere ImageView con un minWidth avere un bordo?

<ImageView 
     android:id="@+id/detailed_view_boxArt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:minWidth="150dp" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@id/detailed_view_heading" 
     android:padding="10dp" 
     android:layout_marginLeft="5dp" 
     android:scaleType="centerInside" 

     android:background="#000"/> 

Questo però non produce quello che voglio ... il problema è che non scala l'immagine in orizzontale abbastanza lontano (per esempio l'imbottitura 10px che ho sembra un molto più a destra e sinistra)

Come potrei produrre il risultato che voglio?

risposta

4

per impostare la larghezza minima e utilizzare gli attributi android:minHeight="100dip" e android:minWidth="200dip".

per impostare il controllo bordo my post.

+0

Grazie per le informazioni ... ma il modo in cui ho creato il confine funziona proprio come il metodo. Il problema è che voglio SOLO impostare una larghezza minima e fare in modo che l'immagine si estenda sia in orizzontale che in verticale ... – Kman

+0

@Kman: non riesco a farti correttamente. la mia ipotesi è che tu imposti il ​​valore per il tuo 'android: layout_width = "100dip" 'not' wrap_content'. – Praveen

+0

no no il mio xml è esattamente come il codice che ho nella domanda ... Ok in pratica voglio rendere l'immagine più grande/più piccola mantenendo il suo rapporto proporzionale in modo che finisca con una larghezza minima di 150dp. Quindi, per esempio, diciamo che ho un'immagine di 50dp di larghezza 100dp di altezza lo voglio in modo che mostri l'immagine come 150dp di larghezza alta 300dp. È più chiaro? Grazie – Kman

3

Prova questo (ho sottolineato la parte importante):

<ImageView 
    android:id="@+id/detailed_view_boxArt" 
    *android:layout_width="match_parent"* 
    *android:layout_height="wrap_content"* 
    *android:adjustViewBounds="true"* 
    *android:scaleType="centerCrop"*     
    android:layout_alignParentLeft="true" 
    android:layout_below="@id/detailed_view_heading" 
    android:padding="10dp" 
    android:layout_marginLeft="5dp" 
    android:background="#000"/> 
+0

Ricorda anche ** scaleType centerInside ** se non vuoi che le immagini * superino *; vedere http://developer.android.com/reference/android/widget/ImageView.ScaleType.html – m02ph3u5

Problemi correlati