RatingBar 的使用 以及自定义的RatingBar

2024-02-23 15:58
文章标签 使用 自定义 ratingbar

本文主要是介绍RatingBar 的使用 以及自定义的RatingBar,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于 RatingBar

1. RatingBar (星级评分条)和SeekBar 是十分相似的,他们有相同的父类 AbsSeekBar.他们允许用户通过拖动来改变进度.而 RatingBar 的最大的区别就是通过星星来表示进度.


2.下图是 RatingBar的一些常见的XML属性:

具体参照:  http://wear.techbrood.com/reference/android/widget/RatingBar.html

3. 实例代码:

定义一个RatingBar

<RatingBar
    android:id="@+id/rb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />对应的java 代码:
public class StarActivity extends BaseActivity {private RatingBar bar;ImageView image;SeekBar seek;@Override
    protected void initContentView(Bundle savedInstanceState) {setContentView(R.layout.activity_star_layout);}@Override
    protected void initView() {bar = findview(R.id.ratBar);image = findview(R.id.image);}@Override
    protected void initData() {bar.setOnRatingBarChangeListener(new RatingBarChangeListenerImpl());bar.setNumStars(5); // 设置 星星的总个数bar.setRating(2);  // 设置星级评分条的默认星级bar.setStepSize(0.5f); // 设置每次需要改变的星级}private class RatingBarChangeListenerImpl implements OnRatingBarChangeListener {@Override
        public void onRatingChanged(RatingBar ratingBar, float v, boolean b) {Toast.makeText(StarActivity.this, "点击星星===", Toast.LENGTH_LONG).show();Log.i("SUO", "现在的等级:" + v + ",:用户是否触发 点击: " + b);}}
}
最后在星星上进行拖动可以看到星级的变化.

通过 OnRatingBarChangeListener 来设置监听器,监听星级的改变.
参照下图:

4. 自定义星星的图案

① 在drawable 文件加下创建文件 dr_myratingbar.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item
        android:id="@android:id/background"
        android:drawable="@drawable/b2" /><item
        android:id="@android:id/progress"
        android:drawable="@drawable/b1" />
</layer-list>
② styles.xml下添加一个标签
<style name="MyRatingBar" parent="@android:style/Widget.RatingBar"><item name="android:progressDrawable">@drawable/dr_myratingbar</item><item name="android:minHeight">45dip</item><item name="android:maxHeight">45dip</item>
</style>③ 在布局中引入即可:
<RatingBar
    android:id="@+id/ratBar"
    style="@style/MyRatingBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:isIndicator="false" />

最后是图片:



项目中可能会用到,所以提前先看一下......


自定义rating的实现 参考链接:
http://blog.csdn.net/linglongxin24/article/details/52918701


这篇关于RatingBar 的使用 以及自定义的RatingBar的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/739151

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1