我不明白如何使用这个属性。谁能多告诉我一点吗?


当前回答

附加:

对于垂直方向,不要忘记设置高度为0dp

android:layout_height="0dp"

对于水平方向,不要忘记设置宽度为0dp

android:layout_width="0dp"

其他回答

附加:

对于垂直方向,不要忘记设置高度为0dp

android:layout_height="0dp"

对于水平方向,不要忘记设置宽度为0dp

android:layout_width="0dp"

结合以下两个答案

Flo, rptwsthi和roetzi,

记住要改变你的layout_width=0dp/px,否则layout_weight行为将会相反,最大的数字占据最小的空间,最小的数字占据最大的空间。

此外,一些权重组合会导致一些布局无法显示(因为它过度占用空间)。

当心这一点。

那样想的话,会简单些

如果你有3个按钮,它们的权重分别为1,3,1,它将像HTML中的表格一样工作

为这一行提供5份:1份用于按钮1,3份用于按钮2,1份用于按钮1

方面,

请查看LinearLayout的weightSum和每个视图的layout_weight。android:weightSum="4" android:layout_weight="2" android:layout_weight="2"他们的layout_height都是0px,但我不确定这是相关的

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="4">

<fragment android:name="com.example.SettingFragment"
    android:id="@+id/settingFragment"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="2"
    />

<Button
    android:id="@+id/dummy_button"
    android:layout_width="match_parent"
    android:layout_height="0px"
    android:layout_weight="2"
    android:text="DUMMY"
    />
</LinearLayout>

添加android:autoSizeTextType="uniform"将自动调整文本大小