I have a vertical LinearLayout containing an ImageView and a few other layouts and views.
<?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>
My problem is that when the activity is displayed, the ImageView has a padding at the top & bottom. I've confirmed it is the ImageView (by setting a background colour on the ImageView).
The image is 450x450px. Setting the height manually to 450px produces the desired effect (no padding), and setting it to 450dp produces the same effect as using wrap_content.
It seems that android is taking the height of the image (450px) and setting the height of the ImageView to the same value, but in dp.
Any ideas as to what I can do to fix this? I don't want to use absolute values as I'll be providing different images for different screen densities.
I had a simular issue and resolved it using android:adjustViewBounds="true"
on the ImageView.
<ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:adjustViewBounds="true" android:contentDescription="@string/banner_alt" android:src="@drawable/banner_portrait" />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With