Android-макет для таблицы с границами, содержащей текстовые представления с границами - PullRequest
1 голос
/ 25 сентября 2010

Я хочу создать 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>
...