Android学习笔记之RatingBar

一、简介

RatingBar为评分条控件,默认效果为若干个绿色的星星,如果想将其换成其他自定义图片就要自定义它的style。

RatingBar是SeekBar 和 ProgressBar 的一种扩展,用星星表示等级。

当RatingBar使用默认的大小,用户可以点击/拉拽或使用方向键来设置等级。

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

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

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

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

Read More

Android Scroller简单用法

Android里Scroller类是为了实现View平滑滚动的一个Helper类。通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(context)。设置mScroller滚动的位置时,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写View的computeScroll(),完成实际的滚动。

Read More

Intent传值和Bundle传值的区别

举个例子:我现在要从A界面跳转到B界面或者C界面
这样的话,我就需要写2个Intent,如果你还要涉及的传值的话,你的Intent就要写两遍添加值的方法。那么,如果我用1个Bundle,直接把值先存里边,然后再存到Intent中,不就更简洁吗?

另外一个例子:如果我现在有Activity A ,B ,C;
现在我要把值通过A经过B传给C
你怎么传?如果用Intent的话,A-B先写一遍,再在B中都取出来,然后在把值塞到Intent中,再跳到C,累吗?
如果我在A中用了Bundle的话,我把Bundle传给B,在B中再转传到C,C就可以直接去了。
这样的话,还有一个好处,就是在B中还可以给Bundle对象添加新的key-value,同样可以在C中取出来。

Read More