星级评分条组件(RatingBar)一般是用来做评分,用星形来显示等级评定,它是ProgressBar的子类,继承了ProgressBar的所有属性和方法。

1.RatingBar属性

  • android:isIndicator:是否是指示器,如果设置成true,意思是将RatingBar作为指示器,不可通过触摸改变RatingBar的进度
  • android:numStars:设置评分控件一共展示多少个星星,默认5个
  • android:rating:设置初始默认星级数
  • android:stepSize:设置每次需要修改多少个星级,默认步长是0.5个星级

RatingBar继承了AbsSeekbar,新增了一些固有的属性,也屏蔽了一些无用的属性,如 在RatingBar中不存在第二进度的概念

2.RatingBar常见方法

  • public RatingBar (Context context):创建RatingBar对象
  • public int getNumStars ():取得评分数量
  • public float getRating ():取得当前评分值
  • public float getStepSize (): 取得设置的步长
  • public boolean isIndicator ():判断是否可以操作
  • public void setIsIndicator (boolean isIndicator): 是否可以操作
  • public synchronized void setMax(int max): 设置评分等级的范围
  • public void setNumStars(int numStars): 设置评分星的个数
  • public void setOnRatingBarChangeListener(RatingBar. OnRatingBarChangeListener): 设置操作监听
  • public void setRating(float rating ): 设置当前的评分值
  • public void setStepSize(float stepSize ): 设置每次增长的步长
  • public RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener ():监听器(可能为空)监听评分改变事件

RatingBar 默认情况下使用星形的个数进行评分,如果要对齐美化,可以用自定义的图片替换系统默认的图片

3.运行图

4.代码

(1)activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/textview"android:text="星级评分条组件RatingBar:"android:textSize="20sp"/><RatingBarandroid:layout_marginTop="20dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/ratingbar"android:isIndicator="false"android:numStars="5"android:rating="1.0"android:stepSize="0.5"/></LinearLayout>

(2)MainActivity.java

package com.example.progressdialog;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private TextView textView;private RatingBar ratingBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView=findViewById(R.id.textview);ratingBar=findViewById(R.id.ratingbar);ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {@Overridepublic void onRatingChanged(RatingBar ratingBar, float v, boolean b) {float point=(int) ((v/ratingBar.getNumStars())*100);Toast.makeText(MainActivity.this,"您的满意度为:"+String.valueOf(point)+"%",Toast.LENGTH_SHORT).show(); //String.valueOf(float f) : 将 float 变量 f 转换成字符串}});}
}

[Android] 星级评分条组件RatingBar相关推荐

  1. Android 星级评分条的基本用法

    > 博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家, >

  2. UI组件之ProgressBar及其子类(二)SeekBar拖动条和RatingBar星级评分条的使用

    拖动条采用拖动滑块的位置来表示数值 SeekBar的常用xml属性值: 重要的android:thumb制定一个Drawable对象,改变滑块外观 通过滑块来改变图片的透明度: main.xml &l ...

  3. Android 基础知识4-3.9 RatingBar(星级评分条)详解

    一.引言 Android开发中,时不时的就有要实现星星的评分效果,比如某宝,某团,相信大家也都见过,当然了我们可以自己去画,也可以用美工给切的图去实现,其实在Android原生的控件中就可以来实现这样 ...

  4. android中星级评分控件RatingBar的使用

    一.简单概述 1.相关属性: > android:isIndicator:是否用作指示,用户无法更改,默认false > android:numStars:显示多少个星星,必须为整数 an ...

  5. Android RaingBar评分条的使用

    概述 RatingBar是基于SeekBar和ProgressBar的扩展,用星型来显示等级评定.使用RatingBar的默认大小时,用户可以触摸/拖动或使用键来设置评分,它有两种样式(小风格用rat ...

  6. android星星评分,Android星星评分控件RatingBar的使用

    在Android的开发中,有一个叫做评分控件RatingBar,我们可以使用该控件做等级划分.评分等作用,星星形状显示,也可以半星级别,我们来看一下评分控件如何使用. 布局文件中定义控件以及属性,这里 ...

  7. Android中点击按钮获取星级评分条的评分

    场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改为Lin ...

  8. Andorid实例,淘宝评分条,星级评分条应用

    效果如下: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Relativ ...

  9. Android学习笔记(24):进度条组件ProgressBar及其子类

    ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related ...

最新文章

  1. 报道 | 本科4篇顶会论文如何做到?清华特奖干货分享:我是这样写论文、做实验、与导师相处...
  2. 利用python爬取IP地址归属地等信息!
  3. R 语言绘制环状热图
  4. MassTransit_契约的创建
  5. Educational Codeforces Round 103 (Rated for Div. 2)A~E解题报告
  6. 那个一年发四篇Cell的研究生,后来怎么样了?
  7. linux 字符设备驱动cdev
  8. WebStorm打开设置界面
  9. 创业有很多种方式,方法,而且是形式多样
  10. LeetCode 28. 实现strStr()
  11. [转载] python maketrans_python2和python3中maketrans和translate的用法
  12. 2、CentOS中修改yum源
  13. 数据挖掘、数据分析、人工智能及机器学习课程资源
  14. 高等数学积分公式大全
  15. List转换成json类型以及对象转换成json类型
  16. git 添加文件覆盖文件, 删除文件
  17. 【面试突击算法第二天】剑指offer + Leetcode Hot100
  18. 无线获能 — 系最适合低功耗及无源物联网能量收集技术
  19. Windows Tomcat服务启动 修改Xms Xmx
  20. 【摘抄】放弃表达的瞬间

热门文章

  1. SUI Moblie 中出现$.init() 或$.alert()not a function和自定义Moble中的嵌套标签页时,点击tab2时一直出现tab1的内容
  2. html5之footer标签
  3. 【unity shader 入门精要】CH7 基础纹理
  4. Android 加载串口通信读取信息时 AndroidStudio loadLibrary失败
  5. 计算机多媒体的结论,多媒体年终工作总结范文
  6. kugou音乐api
  7. Live Home 3D Pro Mac版 v4.1.3 强大高级的室内设计软件
  8. python刷快手_抖音+快手 自动化刷视频脚本(python+adb)
  9. EFM32例程——CMU
  10. 深度学习入门之多层感知机