我有一个线性布局,有4个不同重量的孩子。当用户点击第一个孩子的按钮时,我想将新的孩子添加到具有不同权重(0dp高度)的父线性布局。但是当我添加新孩子时,所有孩子的身高都在变化。如何在不改变身高的情况下添加新视图呢?
------
view 1 (25%)
------
------
view 2 (25%)
------
------
view 3 (25%)
------
------
view 4 (25%)
------
以编程方式添加新布局后
------
view 1 (25%)
------
------
view 2 (25%)
------
------
view 3 (25%)
------
------
view 4 (25%)
------
------
view 5 (25%)
------
总布局将为125%并且可滚动。感谢
答案 0 :(得分:1)
使用权重时,会动态确定视图的大小,以确保它们的所有视图都符合父级的大小 - 比例由权重决定。
根据您的描述,LinearLayout听起来不是您问题的正确解决方案。 ListView可能是一种更好的方法,当所有项目的总大小超过ListView本身的大小时,它将自动提供滚动功能。 ListView易于实现,它可以自动在项目之间滚动和分隔。有关详细信息,请查看ListView developer's guide。
答案 1 :(得分:0)
是的,您可以使用自定义样式列表视图进行自动滚动并获得预期的外观。您可以这样使用:
<ListView
android:id="@+id/"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:divider="@color/off_white"
android:dividerHeight="2dp"/>