我希望按钮的宽度尽可能小。布局文件中的我的XML是:
<TableRow
android:id="@+id/tableRow7"
android:paddingLeft="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_width="40dp"
android:layout_height="wrap_content"
android:text="@string/button_ok"
android:layout_column="0"
android:id="@+id/buttonOK" />
<Button
android:layout_width="20dp"
android:maxWidth="20dp"
android:layout_height="wrap_content"
android:text="@string/button_cancel"
android:layout_column="1"
android:id="@+id/buttonCancel" />
</TableRow>
我试过&#34; wrap_content&#34;和&#34; fill_parent&#34;对于layout_width vals,但他们没有帮助。正如你所看到的,我也尝试过&#34; maxWidth&#34;财产,无济于事。这是它的样子:
那么如何将按钮的宽度限制为&#34;足够的&#34;包含其文本?我想要&#34;取消&#34;按钮的宽度与&#34; OK&#34;大致相同;按钮,或者根据需要包含其文本。
答案 0 :(得分:1)
那么如何将按钮的宽度限制为“足够”以包含其文本?
理想情况下,从表格中删除它(和“确定”按钮)。
TableLayout
背后的一点是给你一些让人想起HTML表格的特征,特别是对于像我这样在1990年以前的CSS Web开发中过量使用HTML表格的灰胡子。
在HTML表格中,单元格会展开以填充列中最宽单元格的宽度。同样的事情 - 取消按钮的宽度由其列决定,我认为它位于由条形图条控制的列中。
从截图中,TableLayout
中唯一应该是四行条形图本身。 “编辑列表”标签(?),单选按钮和确定/取消按钮应位于TableLayout
下方。如果您希望“确定”和“取消”按钮的宽度相同,请为它们使用水平LinearLayout
,为每个按钮赋予宽度0dp
,并为每个按钮赋予1
的权重。
答案 1 :(得分:0)
我明白了 - 保证金属性可以成为你的朋友。我将其添加到“取消”按钮,该按钮已减少到:
<Button
android:layout_marginRight="9![enter image description here][1]0dp"
android:text="@string/button_cancel"
android:layout_column="1"
android:id="@+id/buttonCancel" />
...现在看起来更像是我喜欢的:
普通发誓有一个好主意:
<LinearLayout
android:id="@+id/tableRow7"
android:paddingLeft="112dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_ok"
android:id="@+id/buttonOK" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_cancel"
android:id="@+id/buttonCancel" />
</LinearLayout>