我想在屏幕顶部并排创建5个大小相同的外部正方形。每个外部正方形应包含3个大小相等的迷你正方形,并排放置在每个外部正方形的顶部。 3个迷你方块中的每一个都是TextViews。
外部正方形和内部正方形都需要一个边框,我想用它来区分每个正方形,这样对于用户来说很明显,每个正方形内有5个不同的外部正方形和3个不同的内部正方形
通过声明5个单独的TableLayout,指定layout_width =“0dp”和layout_weight =“2”,我能够获得5个大小相等的外部正方形。在每个TableLayouts中,我定义了一个带有3个TextView的单个元素。
如何使包含TextViews的3个内部正方形中的每一个都具有相同的大小,与屏幕大小无关?我尝试将每个TextViews的layout_weight设置为“.3”,但这并不能解决问题。
我唯一可以使用TextViews获得3个相同大小的正方形的方法是为3个迷你方块中的每一个设置android:minWidth =“12dp”(或12dp以外的其他数字),但显然这不是适用于不同尺寸的屏幕。
我的表格设置如下面的TableLayout。我包含的这个布局是允许我正确创建迷你方块的布局,但不适用于不同大小的屏幕。我使用边距实际创建了TextViews周围的边框(带有白色轮廓的黑色背景)。
除了这个布局,我尝试创建一个Shape资源并将3个迷你方块的背景设置为该Shape,但这也不起作用,但我也包含了该资源。
<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>