c语言starbar函数,[转载]ApiDemo学习笔记——AbsSeekBar

实例:

public class SeekBarDemo

extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.seekbardemo);

final SeekBar seekBar1 = (SeekBar)

this.findViewById(R.id.seekBar1);

//设置滑动块改变事件

seekBar1.setOnSeekBarChangeListener(new

OnSeekBarChangeListener() {

@Override

public void onStopTrackingTouch(SeekBar seekBar)

{

// 停止滑动

}

@Override

public void onStartTrackingTouch(SeekBar seekBar)

{

// 开始滑动

}

//进度条改变事件

@Override

public void

onProgressChanged(SeekBar seekBar, int

progress,boolean fromUser) {

Toast.makeText(SeekBarDemo.this,String.valueOf(seekBar1.getProgress()),

Toast.LENGTH_SHORT).show();

}

});

}

}

RatingBar:

基于SeekBar和ProgressBar的扩展,用星型来显示等级评定。使用RatingBar的默认大小时,用户可以触摸/拖动或使用键来设置评分,

它有两种样式(小风格用ratingBarStyleSmall,大风格用ratingBarStyleIndicator),其中大的只适合指示,不适合于用户交互。

当使用可以支持用户交互的RatingBar时,无论将控件(widgets)放在它的左边还是右边都是不合适的。

只有当布局的宽被设置为wrap content时,设置的星星数量(通过函数setNumStars(int)或者在XML的布局文件中定义)将显示出来(如果设置为另一种布局宽的话,后果无法预知)。

次级进度一般不应该被修改,因为他仅仅是被当作星型部分内部的填充背景。

XML属性

属性名称

描述

android:isIndicator

RatingBar是否是一个指示器(用户无法进行更改)

android:numStars

显示的星型数量,必须是一个整形值,像“100”。

android:rating

默认的评分,必须是浮点类型,像“1.2”。

android:stepSize

评分的步长,必须是浮点类型,像“1.2”。

公共方法

public int getNumStars

()返回显示的星型数量public RatingBar.OnRatingBarChangeListener

getOnRatingBarChangeListener ()监听评分改变事件public float getRating ()获取当前的评分(填充的星型的数量)

public float getStepSize ()获取评分条的步长

public boolean isIndicator ()判断当前的评分条是否仅仅是一个指示器(注:即能否被修改)public void setIsIndicator (boolean isIndicator)设置当前的评分条是否仅仅是一个指示器(这样用户就不能进行修改操作了)public synchronized void setMax (int max)设置评分等级的范围,从0到max

public void setNumStars (int numStars)设置显示的星型的数量。为了能够正常显示它们,建议将当前widget的布局宽度设置为wrap content

public void setOnRatingBarChangeListener

(RatingBar.OnRatingBarChangeListener listener)

设置当评分等级发生改变时回调的监听器

public void setRating (float rating)设置分数(星型的数量)

public void setStepSize (float stepSize)设置当前评分条的步长(step size)参数:stepSize

评分条的步进。例如:如果想要半个星星,它的值为0.5。

实例:

public class AndroidRatingBar extends Activity {

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

final RatingBar ratingBar_Small =

(RatingBar)findViewById(R.id.ratingbar_Small);

final RatingBar ratingBar_Indicator =

(RatingBar)findViewById(R.id.ratingbar_Indicator);

final RatingBar ratingBar_default =

(RatingBar)findViewById(R.id.ratingbar_default);

ratingBar_default.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener(){

public void onRatingChanged(RatingBar

ratingBar, float rating,

boolean fromUser) {

ratingBar_Small.setRating(rating);

ratingBar_Indicator.setRating(rating);

Toast.makeText(AndroidRatingBar.this, "rating:"+String.valueOf(rating),

Toast.LENGTH_LONG).show();

}});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值