Android评分控件(RatingBar)是Android开发中常用的基础控件之一,用于在应用中显示用户评分或选择星级,它提供了一种简单而直观的方式来让用户进行评分操作。
基本用法
1、在布局文件中添加RatingBar控件:
<RatingBar android:id="@+id/ratingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:stepSize="1" android:rating="3" />
2、在Activity或Fragment中获取RatingBar对象并设置监听器:
RatingBar ratingBar = findViewById(R.id.ratingBar); ratingBar.setOnRatingChangedListener(new RatingBar.OnRatingChangedListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { // 处理评分变化的逻辑 } });
常用属性和方法
属性名 | 描述 | 默认值 |
android:id |
RatingBar的唯一标识符 | |
android:layout_width |
RatingBar的宽度 | wrap_content |
android:layout_height |
RatingBar的高度 | wrap_content |
android:numStars |
RatingBar中的星星数量 | 5 |
android:stepSize |
每次评分时增加的星星数量 | 1 |
android:rating |
RatingBar的初始评分值 | 0 |
android:isIndicator |
是否将RatingBar用作指示器而不是评分控件 | false |
android:isNumStarsVisible |
是否显示星星 | true |
android:isStepperTouchable |
是否允许触摸步进器以进行评分 | true |
setRating(float rating) |
设置RatingBar的评分值 | |
getRating() |
获取当前RatingBar的评分值 | |
setOnRatingChangedListener(RatingBar.OnRatingChangedListener listener) |
设置评分改变时的监听器 | |
setIsIndicator(boolean isIndicator) |
设置RatingBar是否作为指示器使用 | |
setIsNumStarsVisible(boolean isNumStarsVisible) |
设置是否显示星星 | |
setStepSize(float stepSize) |
设置每次评分时增加的星星数量 | |
setRatingEnabled(boolean enabled) |
设置是否允许用户进行评分操作 | true |
setFocusable(boolean focusable) |
设置RatingBar是否可以获取焦点 | false |
setFocusableInTouchMode(boolean focusableInTouchMode) |
设置RatingBar在触摸模式下是否可以获取焦点 | false |
setClickable(boolean clickable) |
设置RatingBar是否可点击 | true |
setLongClickable(boolean longClickable) |
设置RatingBar是否可长按 | true |
setOnLongClickListener(View.OnLongClickListener listener) |
设置长按事件监听器 | |
setOnTouchListener(View.OnTouchListener listener) |
设置触摸事件监听器 | |
setOnFocusChangeListener(View.OnFocusChangeListener listener) |
设置焦点变化事件监听器 |
| setTag(Object tag)
和getTag()
| 为RatingBar设置和获取自定义标签对象,用于存储额外的数据信息。|
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/541164.html