API 7 (2.1)
Я использую изображения с высоким разрешением для папки drawable-hdpi моего приложения.
В нижней части экрана у меня есть LinearLayout с шириной fill_parent. Внутри у меня есть 3 LinearLayouts с весом 1. Внутри них у меня есть ImageView. По сути, у меня есть 3 пространства одинакового размера для 3 изображений.
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:padding="0dip">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image2"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image3"
/>
</LinearLayout>
</LinearLayout>
Когда телефон находится в ландшафтном режиме, все выглядит нормально.
Когда телефон находится в портретном режиме, изображения уменьшаются, потому что их ширина слишком велика для их 1/3 места на экране. Изображения по-прежнему выглядят нормально.
Вот моя проблема:
Мои изображения масштабируются нормально, но кажется, что LinearLayouts, обертывающие каждое изображение, не масштабируют свою высоту.
В ландшафтном режиме верхняя и нижняя части LinearLayouts, оборачивающие изображения, имеют общий край. Это означает, что верхняя часть ImageView выравнивается с верхней частью LinearLayout, обертывающей его, а нижняя часть ImageView выравнивается с нижней частью LinearLayout, обертывающей его. Другими словами, высота LinearLayout == высоте ImageView.
В портретном режиме верхняя и нижняя части LinearLayouts, обертывающие изображения, имеют кучу пространства между ними и верхней и нижней частью изображений, почти как отступы. Другими словами, высота LinearLayout > высоты ImageView. Это нежелательно.
Любые идеи?
Это почти похоже на изменение размера LinearLayout и ImageView, затем сжатие ImageView, а затем не изменение размера LinearLayout...
LinearLayout
по нижней части экрана, так как это может повлиять на его высоту. - person Joseph Earl   schedule 12.05.2011