Я ломал голову (новичок-андроид здесь, так что это не сложно сделать) некоторое время, пытаясь понять, как этого добиться:
с использованием RelativeLayout или чего-то другого, кроме AbsoluteLayout, с помощью которого это было создано. Я пришел из среды программирования Windows, где устройство настраивает «абсолютное» позиционирование для вас, и макет графического интерфейса не проблема.
Первый макет прекрасно работает в эмуляторе, но не форматирует для моего Nexus One или любого другого экрана, который отличается от размера эмулятора. Я ожидал этого, потому что он абсолютно позиционирован, но не нашел решения, которое будет правильно форматировать для экрана разных размеров. Моя цель состоит в том, чтобы макет работал для разных размеров экрана и в портретной / альбомной ориентации.
Вот код, который я сейчас использую: [main.xml]
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button01"
android:layout_width="188px"
android:layout_height="100px"
android:text="A"
android:layout_y="50px" android:layout_x="65px" android:textSize="48sp"/>
<Button
android:id="@+id/Button02"
android:layout_width="188px"
android:layout_height="100px"
android:text="B"
android:layout_y="175px" android:layout_x="65px" android:textSize="48sp"/>
<Button
android:id="@+id/Button03"
android:layout_width="188px"
android:layout_height="100px"
android:text="C"
android:layout_y="300px" android:layout_x="65px" android:textSize="48sp"/>
</AbsoluteLayout>
Используя здесь лакомые кусочки из других вопросов, я придумал это, оно ближе, но пока нет.
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
android:gravity="center"
android:id="@+id/widget49"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/Button01"
android:layout_width="0dip"
android:layout_weight="1"
android:text="A"
android:textSize="48sp"/>
<Button
android:id="@+id/Button02"
android:layout_width="0dip"
android:layout_weight="1"
android:text="B"
android:textSize="48sp"/>
<Button
android:id="@+id/Button03"
android:layout_width="0dip"
android:layout_weight="1"
android:text="C"
android:textSize="48sp"/>
</TableLayout>
Вот изображение TableLayout:
Любая помощь / руководство будет принята с благодарностью.