Я пытаюсь создать кнопки букв в относительной компоновке. Основная проблема заключается в том, что я не могу установить кнопки, чтобы сохранить соотношение сторон 1: 1 и отобразить их на экране.Относительная установка кнопок сетки Android
Это то, что я хочу добиться:
Кнопки должны всегда быть 1: 1 и текст рупор старт с кнопкой посередине. До сих пор я пробовал использовать сетку и пуговицы в 5х5 размалывания. Но если я устанавливаю кнопку ш/к, скажем, 50dp на некоторых дисплеях я могу видеть только ABC и половину D.
Также я пытался поставить на LinearLayout как:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@id/adSponsor"
android:layout_below="@id/barSearch"
android:layout_margin="20dp">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:orientation="vertical">
<LinearLayout
android:id="@+id/buttonPanel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/letter_button"
android:gravity="center|top"
android:text="A"
android:textAlignment="gravity"
android:textColor="@color/red"
android:textSize="@dimen/letter_box_text"
android:textStyle="bold" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/letter_button"
android:gravity="center|top"
android:text="B"
android:textAlignment="gravity"
android:textColor="@color/red"
android:textSize="@dimen/letter_box_text"
android:textStyle="bold" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/letter_button"
android:gravity="center|top"
android:text="C"
android:textAlignment="gravity"
android:textColor="@color/red"
android:textSize="@dimen/letter_box_text"
android:textStyle="bold" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/letter_button"
android:gravity="center|top"
android:text="D"
android:textAlignment="gravity"
android:textColor="@color/red"
android:textSize="@dimen/letter_box_text"
android:textStyle="bold" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:background="@drawable/letter_button"
android:gravity="center|top"
android:text="E"
android:textAlignment="gravity"
android:textColor="@color/red"
android:textSize="@dimen/letter_box_text"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
Но в этом случае кнопки не имеют соотношение сторон 1: 1.
Может ли кто-нибудь указать мне, что является правильным способом достижения этого. Кроме того, Кнопки кричат в середине. Расстояние между кнопками и панелью поиска и кнопками между кнопками и нижним колонтитулом должно быть одинаковым.
Но ... где ** Y **? –
Вместо этого ужасного размещения макетов (сильно обескураженный) ... почему вы не используете GridLayout? Или, в качестве альтернативы, RelativeLayout с GridView? –