gpt4 book ai didi

连续不同列宽的Android TableLayout

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:32:44 26 4
gpt4 key购买 nike

我正在尝试做我的第一个复杂的 GUI,但现在我无法解决这个问题。

enter image description here

前两行的第一列只需要包含标签,而前两行的第二列必须占据剩余空间。

在此快照中,我注意到的问题是第一列比我想要的要大。

这是实现该布局的一段代码。

...
...

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/linear_layout_background"
android:stretchColumns="*"
android:shrinkColumns="*">

<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp" >

<TextView
android:id="@+id/textViewPlateValueLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/plateValue"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/productID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/back"
android:ems="5"
android:text="@string/blank"
android:textAppearance="?android:attr/textAppearanceLarge" />

</TableRow>

<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp" >

<TextView
android:id="@+id/ztlLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ztl"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/ztlShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/back"
android:text="@string/blank"
android:textAppearance="?android:attr/textAppearanceLarge" />

</TableRow>

<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center" >

<TextView
android:id="@+id/isAllowed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/blank"
android:background="@drawable/back"
android:textAppearance="?android:attr/textAppearanceLarge" />

</TableRow>

</TableLayout>
...
...

此外,由于它们确实不切实际,我想请教您一些有关最佳使用方法的建议。

最佳答案

您可以像这样尝试使用 layout_weight:

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="horizontal"
tools:context=".MainActivity" >

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="#ff00ff"
android:stretchColumns="*"
android:shrinkColumns="*">

<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp" >

<TextView
android:id="@+id/textViewPlateValueLabel"
android:layout_weight="3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Label1:"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/productID"
android:layout_weight="7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#00ff00"
android:ems="5"
android:text="Some Text"
android:textAppearance="?android:attr/textAppearanceLarge" />

</TableRow>

<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp" >

<TextView
android:layout_weight="3"
android:id="@+id/ztlLabel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Label2:"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:layout_weight="7"
android:id="@+id/ztlShow"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#00ff00"
android:text="Some Text"
android:textAppearance="?android:attr/textAppearanceLarge" />

</TableRow>

<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center" >

<TextView
android:id="@+id/isAllowed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some Text"
android:background="#0088ff"
android:textAppearance="?android:attr/textAppearanceLarge" />

</TableRow>

</TableLayout>

</LinearLayout>

关于连续不同列宽的Android TableLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23786685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com