android:weightSum
是否必须使用android:layout_weight
?
我们可以直接在android:layout_weight
内使用linearlayout
而无需分配android:weightSum
。任何人请告诉我使用android:layout_weight
和没有android:weightSum
的利弊。提前谢谢。
示例代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/table_view"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:orientation="horizontal">
<Button
android:id="@+id/button_1"
style="@style/BaseButtonStyle"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/start" />
<Button
android:id="@+id/button_2"
style="@style/BaseButtonStyle"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_weight="1"
android:text="@string/pause"
android:textColor="@color/teal" />
<Button
android:id="@+id/button_3"
style="@style/BaseButtonStyle"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/stop" />
</LinearLayout>
答案 0 :(得分:0)
我们可以使用android:layout_weight而不添加android:weightSum 父母?
是的,我们可以。考虑下面的例子 -
如果您希望将Terms & Condition
行设置为右侧TextView
和ImageButton
。它会像: -
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:orientation="horizontal">
<!-- Width of TextView = Width of LinearLayout - width of ImageButton -->
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_vector_back_black_18dp"/>
</LinearLayout>
对于WeightSum
的概念,您可以参考此SO link
答案 1 :(得分:0)
是的,我们可以使用权重而不在父级中定义权重和。在这种情况下,通过增加每个孩子的体重来计算孩子的总体重。
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center">
<ImageView
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="0dp"/>
<ImageView
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="0dp"/>
<ImageView
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="0dp"/>
</LinearLayout>
父布局现在将自动将权重总和设为3(每个孩子的体重总和)
以下是有关此主题的更多资源
What is android:weightSum in android, and how does it work?
和https://developer.android.com/reference/android/widget/LinearLayout.html