这是 ListView 中一行的一些 xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:padding="6dip">
<ImageView android:id="@+id/cover" android:layout_width="64dip"
android:layout_height="64dip" android:layout_alignParentTop="true"
android:layout_alignParentBottom="true" android:layout_marginRight="6dip" />
<TextView android:id="@+id/loan" style="@style/DetailsLabel.Small"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_toRightOf="@id/cover" android:layout_alignParentRight="true" />
<TextView android:id="@+id/title" style="@style/DetailsLabel.Small"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_toRightOf="@id/cover" android:layout_alignParentRight="true"
android:layout_alignParentTop="true" android:layout_above="@id/loan"
android:layout_alignWithParentIfMissing="true" android:gravity="center_vertical"
android:singleLine="true" android:ellipsize="end" />
<RatingBar android:id="@+id/ratingBarIndicator" style="?android:attr/ratingBarStyleSmall"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_toRightOf="@id/cover" android:layout_below="@id/title"
android:layout_alignParentRight="true" android:gravity="center_vertical" />
结果如下:
(这是一个普通的 Donut 1.6)。
我想要实现的是左侧的封面,然后是标题、评级栏和右侧的可选贷款状态。如您所见,RatingBar 不断重复(它应该只有五颗星);每当设置了贷款状态时,标题就会消失。如何修复我的 XML 以获得我想要的效果?
最佳答案
我将从固定评分栏开始,如下所示:
<RatingBar
android:id="@+id/ratingBarIndicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/ratingBarStyleSmall"
android:numStars="5"
android:isIndicator="true" />
然后将其对齐到其父项的右侧(可选地使用 android:layout_centerVertical="true")。 在那之后将您的标题放在封面的右侧和评级栏的左侧) 然后你可以让你的 Loaned 标签位于,例如,标题下方和封面右侧。
关于android - 使用 RelativeLayout 在 ListView 中重复 RatingBar wonkiness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3944653/