RatingBar简单介绍+自定义样式
来源:互联网 发布:金融软件系统 编辑:程序博客网 时间:2024/05/24 01:46
一、RatingBar简单介绍
RatingBar是基于SeekBar(拖动条)和ProgressBar(状态条)的扩展,用星形来显示等级评定,在使用默认RatingBar时,用户可以通过触摸/拖动/按键(比如遥控器)来设置评分, RatingBar自带有两种模式 ,一个小风格 ratingBarStyleSmall,大风格为ratingBarStyleIndicator,大的只适合做指示,不适用与用户交互。
效果图展示:
二、实例
1.布局文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:paddingLeft=
"10dip"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<RatingBar android:id=
"@+id/ratingbar1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:numStars=
"3"
android:rating=
"2.5"
/>
<RatingBar android:id=
"@+id/ratingbar2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:numStars=
"5"
android:rating=
"2.25"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dip"
>
<TextView android:id=
"@+id/rating"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<RatingBar android:id=
"@+id/small_ratingbar"
style=
"?android:attr/ratingBarStyleSmall"
android:layout_marginLeft=
"5dip"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
/>
</LinearLayout>
<RatingBar android:id=
"@+id/indicator_ratingbar"
style=
"?android:attr/ratingBarStyleIndicator"
android:layout_marginLeft=
"5dip"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
/>
</LinearLayout>
2.Java代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package
wjq.WidgetDemo;
import
android.app.Activity;
import
android.os.Bundle;
import
android.widget.RatingBar;
import
android.widget.TextView;
import
android.widget.RatingBar.OnRatingBarChangeListener;
public
class
RatingBarDemo
extends
Activity
implements
OnRatingBarChangeListener {
private
RatingBar mSmallRatingBar;
private
RatingBar mIndicatorRatingBar;
private
TextView mRatingText;
/*
* (non-Javadoc)
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected
void
onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super
.onCreate(savedInstanceState);
setContentView(R.layout.ratingbarpage);
mRatingText = (TextView) findViewById(R.id.rating);
// We copy the most recently changed rating on to these indicator-only
// rating bars
mIndicatorRatingBar = (RatingBar) findViewById(R.id.indicator_ratingbar);
mSmallRatingBar = (RatingBar) findViewById(R.id.small_ratingbar);
// The different rating bars in the layout. Assign the listener to us.
((RatingBar)findViewById(R.id.ratingbar1)).setOnRatingBarChangeListener(
this
);
((RatingBar)findViewById(R.id.ratingbar2)).setOnRatingBarChangeListener(
this
);
}
@Override
public
void
onRatingChanged(RatingBar ratingBar,
float
rating,
boolean
fromUser) {
final
int
numStars = ratingBar.getNumStars();
mRatingText.setText(
" 受欢迎度"
+ rating +
"/"
+ numStars);
// Since this rating bar is updated to reflect any of the other rating
// bars, we should update it to the current values.
if
(mIndicatorRatingBar.getNumStars() != numStars) {
mIndicatorRatingBar.setNumStars(numStars);
mSmallRatingBar.setNumStars(numStars);
}
if
(mIndicatorRatingBar.getRating() != rating) {
mIndicatorRatingBar.setRating(rating);
mSmallRatingBar.setRating(rating);
}
final
float
ratingBarStepSize = ratingBar.getStepSize();
if
(mIndicatorRatingBar.getStepSize() != ratingBarStepSize) {
mIndicatorRatingBar.setStepSize(ratingBarStepSize);
mSmallRatingBar.setStepSize(ratingBarStepSize);
}
}
}
0 0
- RatingBar简单介绍+自定义样式
- RatingBar自定义样式
- Android 自定义RatingBar样式
- 自定义样式 RatingBar
- 自定义RatingBar样式
- 自定义RatingBar样式
- 自定义RatingBar样式
- android 自定义RatingBar的样式
- radionbutton、checkbox、RatingBar自定义样式
- 自定义RatingBar显示的样式
- 自定义RatingBar/SeekBar,重载样式
- RatingBar简单介绍
- Android-->RatingBar自定义大小,自定义样式(图片)
- 自定义RatingBar,能根据设置改变样式
- RatingBar的基本使用和自定义样式
- RatingBar样式
- Android自定义控件简单实现ratingbar效果
- 安卓RatingBar自定义(简单实用)
- 什么是网关?
- Bitmap 算法解释与应用
- 字节流与字符流的区别详解
- Hive和Hbase
- Kodi ——6 Controls (3) Button Control
- RatingBar简单介绍+自定义样式
- Linux下移植和配置wpa_supplicant
- Js函数字面量和Function()构造函数的区别||匿名函数
- 写给嵌入式程序员的循环冗余校验(CRC)算法入门引导
- mybatis异常: Should be: #{propName,attr1=val1,attr2=val2}
- 一念永恒 > 第九十九章 找上门来
- DB2 不常用SQL语句集合
- Bat命令学习
- 2016.6.14 hive与hbase的整合使用