我有一个包含三列的TableLayout,分别代表
requiredSymbol |标签|输入字段。
我希望输入字段填满屏幕右侧标签的剩余宽度。到目前为止,我发现的唯一解决方案是
<TableLayout android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:stretchColumns="2">
<TableRow>
<TextView android:text="@string/requiredSymbol"
/>
<TextView android:text="@string/Name"
android:textColor="@color/orange"
android:gravity="left|center_vertical"
/>
<EditText android:id="@+id/contactName"
android:inputType="text|textPersonName"
android:ellipsize="end"
android:singleLine="true"
android:scrollHorizontally="true"
android:maxWidth="1sp"
/>
</TableRow>
maxWidth需要有一些值,实际上会被忽略。然后,StretchColumns值可以很好地完成它的工作。请注意,如果EditText的内容会使表格跨过屏幕边框(恕我直言,则是错误),这也将起作用。
这现在可以很好地工作了,但对我来说似乎有点破烂。有没有更好的办法?
最佳答案
尝试在列上使用android:layout_weight,但请确保在TableLayout中设置android:stretchColumns。我在TableLayout单方面决定缩小列而导致不必要的文本换行时遇到了问题。我不确定layout_weight的使用和单边列收缩是否相关。
关于android - TableLayout列大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3114179/