Я продолжаю пытаться найти какой-то эквивалент распорок и пружин iPhone в Android.И не говорите гравитацию: -)
Хорошо, говорите гравитацию, но затем объясните, как я могу предотвратить сдвиг представлений с экрана в LinearLayout или RelativeLayout.Или покажите мне какой-нибудь другой макет, который позволяет заполнять экран, не мешая при этом.
В iPhone Interface Builder я просто установил бы пружины соответствующим образом, чтобы каждый вид занимал столько места, сколько доступно, нобольше не надо.Это позволяет макетам iPhone хорошо справляться с изменениями ориентации.
В Android основным подходом, о котором я читал, кажется, является создание нескольких папок макетов, таких как layout-port и layout-land, а затем репликация файлов макетов XML между ними,но это кажется очень подверженным ошибкам, и все же единственный способ, которым я могу остановить получение большого пользовательского представления от нажатия других кнопок на экране, - это точно установить его layout_height для определенного размера экрана и ориентации.Учитывая, что на рынок выходит множество дисплеев Android, создается впечатление, что это будет все более и более мучительным.
Вот пример:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<ImageView android:id="@+id/imageView1" android:src="@drawable/icon"
android:layout_height="320dip" android:layout_width="fill_parent"></ImageView>
<SeekBar android:layout_height="wrap_content" android:id="@+id/seekBar1"
android:layout_width="fill_parent"></SeekBar>
</LinearLayout>
- это всего лишь виджеты по умолчанию.Я не хочу, чтобы вы нашли какой-то другой способ установить высоту ImageView так, чтобы он занимал как можно большую часть экрана, не выбивая панель поиска из поля зрения.Попробуйте установить для Android ImageView: layout_height значение fill_parent, чтобы понять, что я имею в виду.
Я пробовал относительные макеты и макеты таблиц, а также всевозможные приемы.Может быть, я упускаю что-то простое, но я буду проклят, если найду это ...
Единственное решение, которое я могу придумать (но еще не попробовал), - это сделать что-то в коде, чтобы обнаружитьразмер экрана и другие виджеты, но я не хочу идти по этому пути, потому что, похоже, должно быть простое решение для разметки XML.