Tengo un LinearLayout vertical que contiene un ImageView y algunos otros diseños y vistas.ImageView en el diseño XML de Android con layout_height = "wrap_content" tiene relleno superior e inferior
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/banner_alt"
android:src="@drawable/banner_portrait" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/main_search"
android:gravity="center"
android:textStyle="bold" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Spinner
android:id="@+id/search_city_spinner"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:prompt="@string/search_city_prompt"
android:entries="@array/search_city_array" />
<Spinner
android:id="@+id/search_area_spinner"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:prompt="@string/search_area_prompt"
android:entries="@array/search_area_array" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Spinner
android:id="@+id/search_rooms_spinner"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:prompt="@string/search_rooms_prompt"
android:entries="@array/search_rooms_array" />
<Spinner
android:id="@+id/search_min_spinner"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:prompt="@string/search_min_prompt"
android:entries="@array/search_min_array" />
<Spinner
android:id="@+id/search_max_spinner"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:prompt="@string/search_max_prompt"
android:entries="@array/search_max_array" />
</LinearLayout>
<Button
android:id="@+id/saearch_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/search_button"
android:onClick="searchButton" />
</LinearLayout>
Mi problema es que cuando se visualiza la actividad, el ImageView tiene un acolchado en la parte superior & inferior. Confirmé que es ImageView (al establecer un color de fondo en ImageView).
La imagen es 450x450px. Establecer manualmente la altura a 450px produce el efecto deseado (sin relleno) y establecerlo en 450dp produce el mismo efecto que usar wrap_content.
Parece que Android está tomando la altura de la imagen (450px) y ajustando la altura de ImageView al mismo valor, pero en dp.
¿Alguna idea sobre qué puedo hacer para solucionar esto? No quiero usar valores absolutos ya que proporcionaré diferentes imágenes para diferentes densidades de pantalla.
Esto hizo el truco para mí. Parece contradictorio que esta no sea la configuración predeterminada. Es "wrap_content" - pero en realidad no ... – erlando
No funcionó para mí. Terminé agregando un oyente para cambiar manualmente el tamaño de la imagen para que coincida con la relación de aspecto correcta cada vez que cambia el diseño de la imagen. – gsteinert
Eso hizo que mi día :-) –