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