Я хочу создать 5 одинаковых по размеру квадратов в верхней части экрана, рядом друг с другом. Каждый внешний квадрат должен содержать 3 одинаковых по размеру мини-квадрата, расположенных бок о бок, в верхней части каждого внешнего квадрата. Каждый из 3 мини квадратов является TextViews.
Каждый из внешних и внутренних квадратов нуждается в границе, которую я хочу использовать для дифференциации каждого квадрата, чтобы для пользователя было очевидно, что в каждом внешнем квадрате есть 5 различных внешних квадратов и 3 различных внутренних квадрата. .
Мне удалось получить 5 одинаковых по размеру внешних квадратов, объявив 5 отдельных TableLayouts, указав layout_width = "0dp" и layout_weight = "2". В каждом из этих TableLayouts я определяю один элемент с 3 TextViews.
Как я могу получить каждый из 3 внутренних квадратов, содержащих TextView, одинакового размера, независимо от размера экрана? Я попытался установить layout_weight каждого из TextViews равным ".3", но это не сработало.
Единственный способ, которым я смог получить 3 квадрата одинакового размера с TextViews, это установить android: minWidth = "12dp" (или другое число, кроме 12dp) для каждого из 3 мини-квадратов, но, очевидно, это работа для экранов разных размеров.
Мои таблицы - каждая установка, подобная TableLayout ниже. Этот макет, который я включил, является макетом, который позволяет мне правильно создавать мини-квадраты, но не работает для экранов разных размеров. Я использовал поля для создания границы вокруг TextViews (черный фон с белым контуром).
Помимо этого макета, я попытался создать ресурс Shape и установить для него фон 3 мини-квадратов, но это тоже не сработало, но я также включил этот ресурс.
<TableLayout
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#FFFFFF">
<TableRow android:background="#FFFFFF">
<TextView
android:background="#000000"
android:layout_marginLeft="1dip"
android:layout_marginRight="1dip"
android:layout_marginBottom="1dip"
android:minWidth="12dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:background="#000000"
android:layout_marginLeft="1dip"
android:layout_marginRight="1dip"
android:layout_marginBottom="1dip"
android:minWidth="12dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:background="#000000"
android:layout_marginLeft="1dip"
android:layout_marginBottom="1dip"
android:layout_marginRight="1dip"
android:minWidth="12dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow>
</TableLayout>
Я использовал ресурс Shape:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#000000"/>
<stroke android:width="1dp" color="#000000"/>
<corners android:radius="1dp"/>
<padding android:left="2dp" android:top="1dp"
android:right="2dp" android:bottom="1dp" />
</shape>