ImageViewと他のいくつかのレイアウトとビューを含む垂直LinearLayoutがあります。
<?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>
私の問題は、アクティビティが表示されると、ImageViewの上下にパディングが表示されることです。 ImageViewであることを確認しました(ImageViewに背景色を設定することにより)。
画像は450x450pxです。高さを手動で450pxに設定すると、目的の効果(パディングなし)が生成され、450dpに設定すると、wrap_contentを使用した場合と同じ効果が得られます。
Androidは画像の高さ(450px)を取得し、ImageViewの高さをdpで同じ値に設定しているようです。
これを修正するために私ができることについてのアイデアはありますか?画面密度に応じて異なる画像を提供するため、絶対値を使用したくありません。
似たような問題があり、ImageViewでAndroid:adjustViewBounds="true"
を使用して解決しました。
<ImageView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:adjustViewBounds="true"
Android:contentDescription="@string/banner_alt"
Android:src="@drawable/banner_portrait" />