前言
本节给大家带来的是 Android 基本 UI 控件中的 RatingBar(星级评分条) 和 ScrollView(滚动条)。
RatingBar 效果图- android:isIndicator:是否用作指示,用户无法更改,
- falseandroid:numStars:显示多少个星星,必须为整数
- android:rating:默认评分值,必须为浮点数
- android:stepSize: 评分每次增加的值,必须为浮点数
除了上面这些,还有两种样式供我们选择,但是不建议使用,因为这两种样式都好丑… 他们分别是:
- style=“?android:attr/ratingBarStyleSmall”
- style=“?android:attr/ratingBarStyleIndicator”
事件处理: 只需为 RatingBar 设置 OnRatingBarChangeListener 事件,然后重写 下onRatingChanged() 方法即可!
实现代码public class MainActivity extends AppCompatActivity {
private RatingBar rb_normal;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rb_normal = (RatingBar) findViewById(R.id.rb_normal);
rb_normal.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
Toast.makeText(MainActivity.this, "rating:" + String.valueOf(rating),
Toast.LENGTH_LONG).show();
}
});
}
}
自定义 RatingBar
1. 准备两个素材 2. 编写一个 layer-list 的 ratingbar_full.xml 文件:
3. 在 style.xml 中自定义下 RatingBar Style,在 style.xml 加上这个:
@drawable/ratingbar_full
24dip
24dip
4. 在布局中的 Ratingbar 组件设置下:
ScrollView
效果图
ScrollView(滚动条)
,或者我们应该叫他 竖直滚动条,对应的另外一个水平方向上的滚动条:HorizontalScrollView
。
原来是一个FrameLayout的容器,不过在他的基础上添加了滚动,允许显示的比实际多的内容! 另外,只能够往里面放置一个子元素,可以是单一的组件,又或者一个布局包裹着的复杂的层次结构!
1. 滚动到底部: ScrollView 给我们提供的 fullScroll() 方法实现:
- scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部
- scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部
2. 隐藏滑块
- android:scrollbars=“none”
- Java 代码设置:scrollview.setVerticalScrollBarEnabled(false);
3. 设置滚动速度 这个并没有给我们提供可以直接设置的方法,我们需要自己继承ScrollView,然后重写一个 public void fling (int velocityY)的方法:
@Override
public void fling(int velocityY) {
super.fling(velocityY / 2); //速度变为原来的一半
}