为什么layout_width =“wrap_content”会占据屏幕的整个宽度?

时间:2011-12-03 16:53:26

标签: android android-layout android-widget

使用这个xml:

<TableRow >
    <Button
        android:id="@+id/buttonNext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Next"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</TableRow>

我希望“wrap_content”只能在按钮上显示文本所需的宽度,但按钮会独占屏幕的整个宽度......?

3 个答案:

答案 0 :(得分:2)

你看过这个问题吗?

Button width in Android TableLayout

使用android:stretchColumns="*"中的TableLayout可能会导致此问题,但如果没有其他XML,则很难说清楚。

答案 1 :(得分:2)

不明白....
无法看到tableRow.no属性的layout_width属性,layout_height属性可以没有这些属性。

答案 2 :(得分:2)

您的问题是忽略xml中的宽度规范。来自docs for TableRow

  

TableRow的子节点不需要在XML文件中指定layout_width和layout_height属性。 TableRow始终将这些值分别强制为MATCH_PARENT和WRAP_CONTENT。

P.S。您是否有令人信服的理由使用绝对像素?这通常被认为是不好的做法。

P.P.S。双重发布我的答案,然后双重发布您的问题。 :)