如何在TableLayout中使右单元格更靠近左半格?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在TableLayout中使右单元格更靠近左半格?相关的知识,希望对你有一定的参考价值。
我有以下代码:
<TableLayout
android:id="@+id/table"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:shrinkColumns="*"
android:stretchColumns="*"
android:layout_marginTop="15dp">
<TableRow
android:id="@+id/table_row1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_project1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="text"/>
<Spinner
android:id="@+id/spinner_project2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true" />
</TableRow>
<TableRow
android:id="@+id/table_row2"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_project2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Very long test"/>
<Spinner
android:id="@+id/spinner_project2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true" />
</TableRow>
</TableLayout
它基本上会创建下表:
text [spinner]
very long text [spinner]
我希望微调框更接近文本,所以我不希望行数为50-50。而是我想采用文本中最长的字符串,这将是第一列中单元格的大小。我会得到:
text [spinner] <Nothing here>
very long text [spinner] <Nothing here>
我尝试使用marginLeft
,但没有帮助。我还尝试使用weights=3
插入空的文本视图。看起来更好,但是在代码中间我得到了空的textview。我敢肯定有办法。我该怎么办?
答案
将android:shrinkColumns="1"
用于当前正在使用的TableLayout
,并删除android:stretchColumns="*"
<TableLayout
android:id="@+id/table"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:shrinkColumns="1"
android:layout_margin="15dp"
>
<TableRow
android:id="@+id/table_row1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_project1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="text"/>
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true" />
</TableRow>
<TableRow
android:id="@+id/table_row2"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_project2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Very long test"/>
<Spinner
android:id="@+id/spinner_2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:drawSelectorOnTop="true" />
</TableRow>
</TableLayout>
注意:索引从0开始,即您要缩小/拉伸第1个列,您必须使用0而不是1
以上是关于如何在TableLayout中使右单元格更靠近左半格?的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell - 如何使右 UILabel 截断而不是左截断?
UITableViewCell - 将所有单元格更改为 BackgroundView
如何在 TableLayout 中添加 editText.addTextChangedListener
如何在我的 Android 应用程序中使视图填充其父级的整个宽度?