Estoy tratando de colocar en una sola fila el EditText
con el ImageView
a la izquierda. Pero no puedo hacer que la imagen se escale correctamente para que coincida con la altura de la entrada de texto.ImageView: adjustViewBounds no funciona con layout_height = "fill_parent"?
El diseño es simple:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:background="#f00"
android:src="@drawable/icon" />
<EditText
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
(I destacó fondo de la imagen por el color rojo para ver el espacio real asignado por ImageView)
Si se especifica la altura exacta para ImageView
:
android:layout_height="48dp"
luego obtengo la visión más cercana de lo que necesito d:
Pero no sé la altura exacta de EditText
, por lo que no se puede especificar para ImageView
aquí.
Cuando se especifica la altura de ImageView
para llenar su matriz (para que coincida con `` altura EditText`):
android:layout_height="fill_parent"
en cuando me siento inesperada margen adicional entre la entrada de imagen y el texto:
En realidad, en este caso, el ancho ImageView
es igual al ancho de la imagen sin escala, mientras que la imagen se ha escalado.
Es el similar a imagen mostrada a continuación si especifico layout_height
a 48dp
y establecer adjustViewBounds
a false
:
android:layout_height="48dp"
android:adjustViewBounds="false"
Entonces, la pregunta aquí es: ¿cómo definir el diseño correctamente para escalar la imagen para que coincida con la altura de entrada de edición y en el mismo tiempo para tener ancho de ImageView
para reducir el ancho de la imagen a escala? En otras palabras, ¿cómo deshacerse de este espacio extra?
intente usar android: layout_marginBottom = "10dip" para imageview –
@JSE ¿Cómo ayudaría? Obtendré una imagen más pequeña pero con el mismo espacio extra alrededor. – GrAnd
Pruebe usar scaleType = "fitXY" y height = "fill_parent" para ImageView. – Karan