Я создаю гистограмму, которая будет использоваться в списке. Бары построены с помощью LinearLayout и Weights. Простое представление гистограммы, содержащей только один бар, представленный в XML ниже:Android listview изменить размер макета subviews
<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.
Вид сам по себе отлично работает сам по себе, но внутри списка, высота подзаголовков не обновляется правильно. Очень странно добавить к этому, что вы можете обновить цвет фона панели в списке, но все остальное, кажется, игнорируется.
Любые мысли о том, что может пойти не так?
Сумма веса LinearLayout не должна содержать сумму до 1,0. Как уже упоминалось выше, представление прекрасно работает за пределами ListView. Я пробовал вызывать requestLayout в корневом режиме, к сожалению, он не имел никакого эффекта. Спасибо за попытку! – jonte