Android ImageView escala tipo centerCrop
Estoy creando una actividad en Android. Quiero mostrar una imagen de fondo en ella. Puse un ImageView en mi principal RelativeLayout.
<RelativeLayout android:id="@+id/relativeLayoutMain" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:orientation="vertical" > <ImageView android:id="@+id/bgImage" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:src="@drawable/bg4" android:scaleType="centerCrop" /> </RelativeLayout>
Hace la vista como esto.
- Android: genera archivo CSV de valores de tabla
- Búsqueda de Android con Fragmentos
- SwipeListView uso NullPointerException
- Android no puede analizar cadena hasta la fecha
- Cómo Caché los datos de Json para estar disponibles sin conexión?
Necesito hacer una vista como esta
¿Cómo puedo hacerlo?
- Transmisión de audio y vídeo desde Android a PC / web.
- Cómo mostrar la notificación únicamente en el dispositivo Android Wear
- Desde la API de archivos Blobstore obsoleta hasta blobs de servicio
- Encuentra la caja de encuadernación de un conjunto de Geopuntos Mapbox
- Uso de fuentes personalizadas para todo el texto de la aplicación que no funciona con Lollipop
- Archivo de tipo de entrada de la vista web de Android
- Lona de Android, múltiples rutas con diferentes cantidades de zoom
- Uso de la API de host USB de Android para leer mi controlador de juego USB u otros datos de dispositivo USB
Intenta establecer el atributo ImageView ScaleType=fitEnd
?
Utilice este código. Dé la salida como usted quiere.
Código
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:id="@+id/relativeLayoutMain" android:layout_width="150dp" android:background="@android:color/background_dark" android:layout_height="150dp" > <ImageView android:id="@+id/bgImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:scaleType="centerCrop" android:src="@drawable/ic_launcher" /> </RelativeLayout> </RelativeLayout>
Un consejo si u dar el relleno de tamaño de imagen de relleno padre entonces es contener todo el espacio de acuerdo al contenedor principal. La mejor de las suertes
Establecer el android:background="@drawable/bg4"
en el RelativeLayout
así:
Todo el XML debería verse así:
<RelativeLayout android:id="@+id/relativeLayoutMain" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:background="@drawable/bg4 android:orientation="vertical" > </RelativeLayout>
En primer lugar, creo que hay un par de cosas mal en el xml:
RelativeLayout no hace uso de una orientación, debe quitar
¿Es este su archivo xml completo? Si es así entonces el alignParentLeft en el RelativeLayout no hace nada porque ese es un atributo que usa si su padre es un RelativeLayout.
Fill_parent es el nombre obsoleto de match_parent, debe usarlo.
También creo que el código que usted tiene centrará la imagen en la pantalla poniendo cualquier cosa que sea a grande uniformemente en ambos lados y no en todos lo que usted dijo lo hace.
Si solo quieres un fondo, solo puedes usar android:background="@drawable/bg4"
en el android:background="@drawable/bg4"
RelativeLayout
EDIT: Cambiar el layoutparams de ImageView a wrap_content tanto de altura como de ancho y quitando el scaleType alltogether podría hacerlo como si quisiera que fuera.
- Cómo obtener el ID de fondo actual de una vista
- Barra de acción con la vista de búsqueda. Problemas de compatibilidad inversa