2010-07-16 12 views
5

Quiero reproducir una imagen para que ocupe un mínimo ancho de la pantalla y debe escalar en su relación de aspecto (el ancho de la imagen puede ser menor o mayor que el ancho mínimo) También quiero tener un borde de tamaño fijo alrededor esta imagen. Esta es mi sección XML para ello:.Android cómo hacer que ImageView con un minWidth tenga un borde?

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

Sin embargo, esto no produce lo que quiero ... el problema es que no escala horizontal de la imagen lo suficiente (es decir, el relleno 10px parece que tengo una mucho más a la derecha e izquierda)

¿Cómo puedo obtener el resultado que deseo?

Respuesta

4

para establecer el ancho mínimo y heidht utilizar los atributos android:minHeight="100dip" y android:minWidth="200dip".

para establecer la verificación del borde my post.

+0

Gracias por la info ... sin embargo, la forma en que he creado la frontera funciona aswell como su método. El problema es que SOLO deseo establecer un minWidth y hacer que la imagen se estire tanto horizontal como verticalmente ... – Kman

+0

@Kman: No se puede obtener correctamente. Supongo que debes establecer el valor para tu 'android: layout_width =" 100dip "' not 'wrap_content'. – Praveen

+0

no no my xml es exactamente como el código que tengo en la pregunta ... Ok, básicamente quiero hacer que la imagen sea más grande/pequeña manteniendo su relación de aspecto para que termine con un ancho mínimo de 150dp. Entonces, por ejemplo, digamos que tengo una imagen de 50dp de ancho y 100dp de alto, la quiero para que muestre la imagen como 150dp de ancho y 300dp de alto. ¿Está eso más claro? Gracias – Kman

3

Prueba esto (he subrayado 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

Tenga en cuenta también ** scaleType centerInside ** si no desea que sus imágenes * se desborden *; ver http://developer.android.com/reference/android/widget/ImageView.ScaleType.html – m02ph3u5

Cuestiones relacionadas