我正在准备一个tic tac游戏: 最初所有9个单元格都是空的。当我输入数字时开始游戏,单元格的宽度会动态变化。如何防止这种情况?
我的xml代码为9个单元格:
<GridLayout
android:id="@+id/grid_layout_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginHorizontal="20dp"
android:background="@android:color/holo_red_dark"
android:rowCount="3"
android:columnCount="3"
android:padding="10dp"
android:theme="@style/MyTextViewStyle">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="1" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="2" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="4" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="5" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="7" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="8" />
<TextView
android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
tools:text="" />
</GridLayout>
PS:我不想使用表格布局,水平和垂直线性布局集或任何其他视图。请告诉我如何在GridLayout本身中完成它。
答案 0 :(得分:0)
请参阅答案here。您只需要在每个TextView上更改以下部分:
android:layout_width="0dp"
答案 1 :(得分:0)
在每个TextView
中,将layout_width
设置为0dp。最初,TextView
将为0像素大,但它们将同等地填充剩余空间:android:layout_columnWeight="1"
。
答案 2 :(得分:0)
您需要在行的每一列上放置一个固定的重量。
为此,您必须在每种组件中分配Textview,
他们将要排在队中。如果你的行将包含2个组件,你可以在weight_sum = "1"
中分配权重总和的值,然后在每个组件中指定你想要它们的权重,例如你可以,{ {1}}。因此,您可以修复容器内的每个组件宽度。
我希望这对你有所帮助。
您的密码:
layout_weight = 0.5
答案 3 :(得分:0)