RatingBar评分条是SeekBar拖动条的子类。现阶段系统自带了3种样式,我们同样用例子来演示他的使用方法和属性设置:
1、main.xml的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RatingBar android:id="@+id/RatingBar01"
android:layout_width="wrap_content" android:rating="3"
android:layout_marginTop="20dp" android:layout_height="wrap_content">
</RatingBar>
<RatingBar android:id="@+id/RatingBar03"
android:layout_width="wrap_content" android:numStars="5"
android:rating="4" android:isIndicator="false"
style="?android:attr/ratingBarStyleIndicator"
android:layout_marginTop="20dp" android:layout_height="wrap_content">
</RatingBar>
<RatingBar android:id="@+id/RatingBar02"
android:layout_width="wrap_content" android:isIndicator="false"
android:numStars="10" android:rating="8"
style="?android:attr/ratingBarStyleSmall" android:layout_marginTop="20dp"
android:layout_height="wrap_content">
</RatingBar>
</LinearLayout>
2、在HelloRatingBar.java的代码里我们实现了3个评分条联动的功能:
package com.esri.arcgis.sample;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
public class AndroidRatingBar extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 定义组件对象
final RatingBar rb1 = (RatingBar) findViewById(R.id.RatingBar01);
final RatingBar rb2 = (RatingBar) findViewById(R.id.RatingBar02);
final RatingBar rb3 = (RatingBar) findViewById(R.id.RatingBar03);
// 定义评分监听器
OnRatingBarChangeListener orbcl = new OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
switch (ratingBar.getId()) {
case R.id.RatingBar01:
// 把第一个评分条的值取出来设置给其他评分条
rb2.setRating(rb1.getRating());
rb3.setRating(rb1.getRating() * 2);// 十颗星所以乘以2
break;
case R.id.RatingBar02:
rb1.setRating(rb2.getRating());
rb3.setRating(rb2.getRating() * 2);
break;
case R.id.RatingBar03:
rb1.setRating(rb3.getRating() / 2);
rb2.setRating(rb3.getRating() / 2);
break;
}
}
};
// 绑定监听器
rb1.setOnRatingBarChangeListener(orbcl);
rb2.setOnRatingBarChangeListener(orbcl);
rb3.setOnRatingBarChangeListener(orbcl);
}
}
3、运行程序,点击评分条看看效果,使用左右键再试试
有兴趣的可以研究一下,如何更换评分条中的图片,譬如罢星星换成花朵什么的。
好,本讲就到这里。
- 大小: 134.2 KB
分享到:
相关推荐
android 评分条 RatingBar 使用及自定义 ,用户可以触摸/拖动或使用键来设置评分,自定义背景以及前景图片;
RatingBar主要用在电子相册、网上书店和对文章进行评分的功能。... 对于博文地址:【Android 开发】:UI控件之 RatingBar 评分控件的使用 http://blog.csdn.net/xukunhui2/article/details/9034413
android定制评分RatingBar关键部分带注释
最近写项目用到了Ratingbar,由于Android自带的Ratingbar可以改变星星的颜色,但是无法设置间距,所以我们自定义了Ratingbar,上传到这和大家分享,交流学习
android定制评分RatingBar。关键是在drawable-*中定义图片描述文件以及在values下面定义style文件。
抛弃原声ratingbar,自定义ratingbar,可以任意改变样式,背景图,间距,大小,总分,全都不是问题
本文通过实例代码给大家介绍了Android RatingBar星星评分控件,非常不错,具有参考借鉴价值,需要的朋友参考下吧
很好的源码,值得初学者入门!当然这个还是比较基础!
RatingBar是基于SeekBar(拖动条)和ProgressBar(状态条)的扩展,用星形来显示等级评定,在使用默认RatingBar时,用户可以通过触摸/拖动/按键(比如遥控器)来设置评分, RatingBar自带有两种模式 ,一个小风格 ...
android自定义评分控件ratingbar .rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
星级评分条表示对某一事物或应用的支持、评价,或对某种应用服务的满意程度等, 在星级评分条开发时,允许程序员直接通过拖动星星图案来改变进度。星级评分条与拖动条有着相同的一个父类AbsSeekBar,因此用法、功能也...
android 星级评分条的用法 ,用来改变图片透明度。
在Android SDK 中提供了 RatingBar控件来实现相应的工作。 <RatingBar>标签有几个常用评分相关属性 android:numStars,指定评分五角星数。 android:rating,指定当前分数 android:stepSize, 指定分数增量 ...
RatingBar给用户一种简单方便的评分方式,觉得系统的样式不过美观的时候,不妨自定义一个RatingBar,此代码简单实用,适合初学者。
主要为大家详细介绍了Android星级评分条控件RatingBar的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
详细讲解了Android RatingBar的使用及实例。
星星评分RatingBar,Android