0
我正在构建一个要在listview中使用的条形图。酒吧用LinearLayout和Weights构建。含有下XML仅设置一个杆条形图的简单表示:Android listview更改子视图的布局大小
<LinearLayout
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/bar"
android:layout_width="20dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="3dp"
android:paddingRight="3dp">
<View
android:id="@+id/counter_weight"
android:layout_width="match_parent"
android:layout_height="0dp" />
<View
android:id="@+id/visible_part_of_bar"
android:layout_width="match_parent"
android:layout_height="0dp" />
</LinearLayout>
</LinearLayout>
如果希望此条来表示说60%,可以设置visible_part_of_bar至60的重量和counter_weight至40的重量。
该视图本身工作得很好,但在listview中,子视图的高度未正确更新。添加到这一点很奇怪的是,你可以更新列表视图中的酒吧的背景颜色,但其他一切似乎被忽略。
有什么想法可能会出错?
LinearLayout的权重和不需要总和为1.0。如前所述,该视图在ListView外部工作得很好。 我试着在rootview上调用requestLayout,不幸的是它没有效果。感谢您的尝试! – jonte