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.

Introduzca aquí la descripción de la imagen

Necesito hacer una vista como esta Introduzca aquí la descripción de la imagen

¿Cómo puedo hacerlo?

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.

  • Recurso Android de tipo largo
  • Migración en Realm 0.81.1
  • Programaticamente escribir en un dispositivo Android
  • Error: Causa: no se pudo encontrar el destino con la cadena de hash 'Google Inc.: API de Google: 23' en: E: \ AndroidStudio \ SDK
  • Recursos crudos versus base de datos SQLite
  • eliminar% 0A de la cadena
  • NullPointerException Advertencia sobre getView () dentro del método onActivityCreated / onStart / onViewCreated
  • Creación de un iterador recursivo
  • Emulador de emparejamiento de par con emulador de Android
  • NoClassDefFoundError al ejecutar PopupMenu usando la biblioteca android-support-v7-appcompat en android
  • Android GridLayout obtener fila / columna
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.