在android中自定义评分栏
Posted
技术标签:
【中文标题】在android中自定义评分栏【英文标题】:Customizing rating bar in android 【发布时间】:2011-11-28 22:55:00 【问题描述】:我必须设计一个包含评分栏的自定义列表项
我按照本教程([Problem with custom rating bar in android)自定义和调整评分栏。评分栏现在变小了,但我无法点击它
我的自定义 listItem 代码是:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:stretchColumns="*" android:layout_
android:layout_ android:id="@+id/tbl">
<TableRow>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_
android:layout_>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_
android:layout_ android:src="@drawable/icon" />
<TextView android:layout_ android:id="@+id/txt"
android:layout_ android:text="Item Name" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_
android:layout_>
<TextView android:layout_ android:gravity="center"
android:layout_ android:text="Price" />
<TextView android:layout_ android:gravity="center"
android:layout_ android:text="Discount" />
<TextView android:layout_ android:gravity="center"
android:layout_ android:text="In Stock" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_
android:layout_>
<!-- <RatingBar android:id="@+id/ratingBar1" android:fitsSystemWindows="false"
android:maxWidth="150dip" android:minHeight="23dip" android:maxHeight="25dip"
android:layout_ android:layout_ /> -->
<TextView android:layout_
android:layout_ android:text="Shipping days" />
<RatingBar android:id="@+id/ratingBar" style="?android:attr/ratingBarStyleSmall"
android:layout_gravity="center_vertical|center_horizontal"
android:focusable="true" android:layout_
android:layout_></RatingBar>
<Button android:layout_ android:layout_
android:text="Buy" android:textSize="15dip"/>
</LinearLayout>
</TableRow>
</TableLayout>
截图是:
编辑:
我开发了自定义评分栏,但现在无论我在横向设置评分,当我以纵向查看应用程序时,整个评分栏都被取消选择..如何保持评分栏处于选中状态?
【问题讨论】:
style="?android:attr/ratingBarStyleSmall"
样式的评分栏不是用户难以处理的。看看Pretty RatingBar
Thanx Adil Soomro。那个教程很棒,自定义了我的评分栏:)
@AdilSoomro 同意 Adil,它不是用户可交互的。
看看这篇文章:***.com/questions/5800657/…
【参考方案1】:
较小的 RatingBar 样式 ( ratingBarStyleSmall) 和较大的仅指示器样式 (ratingBarStyleIndicator) 不支持用户交互,只能用作指示器。 (来自RatingBar manual)
【讨论】:
【参考方案2】:为HDPI
和MDPI
使用不同大小的drawable,然后在dp
中为您的评分栏指定一个特定高度。或者,在您的可绘制对象中放置一行空像素。但是第二种方法只是解决了您的评分栏的外观,并且高度会出错。我建议第一种方式。
【讨论】:
以上是关于在android中自定义评分栏的主要内容,如果未能解决你的问题,请参考以下文章