Android RaingBar评分条的使用

Android自定义RatingBar,图片可缩放 一、概述最近开发项目的过程需要用到RaingBar控件,类似于一般APP上的评分功能,期初觉得只要用系统自带的RatingBar然后修改图片就好,但是试了之后发现图片不能够自适应改变大小,用了网上的一些方法后貌似也无济于事,于是乎自己写一个简单一点的易用的RaingBar。 第一次写博客,也许写的不是太好,多多见谅,完整项目代码会在最后给出下载链接(Eclipse)思路: 自定义控件继承自Fram 阅读详情

概述

RatingBar是基于SeekBar和ProgressBar的扩展,用星型来显示等级评定。使用RatingBar的默认大小时,用户可以触摸/拖动或使用键来设置评分,它有两种样式(小风格用ratingBarStyleSmall,大风格用ratingBarStyleIndicator),其中大的只适合指示,不适合于用户交互。

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

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

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

XML属性

属性名称描述
android:isIndicatorRatingBar是否是一个指示器(用户无法进行更改)true/false
android:numStars显示的星型数量,必须是一个整形值,像“100”。
android:rating默认的评分,必须是浮点类型,像“1.2”。
android:stepSize评分的步长,必须是浮点类型,像“1.2”。

xml代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.zjs.ratingbar.MainActivity">

    <RatingBar

        android:id="@+id/ratingbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:isIndicator="false"
        android:maxHeight="75dp"
        android:minHeight="75dp"
        android:numStars="5"
        android:progressTint="@android:color/holo_green_light"
        android:rating="1"
        android:stepSize="0.5"/>
</LinearLayout>

Activity代码

package com.zjs.ratingbar;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

private RatingBar mRatingBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    initlistener();
}

private void initView() {
    mRatingBar = (RatingBar) findViewById(R.id.ratingbar);
}

private void initlistener() {
    mRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean formUser) {
            float rating1 = mRatingBar.getRating();
            int numStars = mRatingBar.getNumStars();
            float stepSize = mRatingBar.getStepSize();
            Toast.makeText(MainActivity.this, rating1 + "  " + numStars + "  " + stepSize + " ", Toast.LENGTH_SHORT).show();
        }
    });
}

}

简易效果图

在这里插入图片描述

自定义RaingBar 系统自带的RatingBar是可以的,但是实际项目中会用到自己自定义样式的RatingBar,本demo可以实现自定义样式。 立即下载

相关推荐

VSCode+Keil高效开发STM32:Keil Assistant插件配置全攻略

本文详细介绍了如何通过VSCode的Keil Assistant插件,将Keil MDK的编译调试能力与VSCode的现代编辑体验相结合,打造高效的STM32开发环境。文章涵盖了从环境配置、工程导入、智能提示设置到与STM32CubeMX协同工作的全流程攻略,旨在解决Keil编辑器效率低下的痛点,大幅提升嵌入式开发的编码与项目管理效率。

gold的博客 508

Android学习笔记(十九):建立自己的ListView

在之前的例子中,我们通过设置adapter的getView()来编写我们所希望的UI,然而在面向对编程中,我们希望能够创建自己的ListView,例如类的名字为com.wei.android.learning.RatingView,只要在XML中用我们自己的RatingView对ListView来替代,就可以实现我们的风格,并前在源代码中向使用ListView一样简单调用就可以了。 实现的目标

愷风(Wei)的专栏 1万+

用Docker-Compose三节点部署生产级Doris集群:从配置文件到故障转移

本文详细介绍了如何使用Docker-Compose部署一个生产级的三节点Apache Doris集群。内容涵盖从核心架构理解、配置文件编写到集群初始化验证的全过程,并重点讲解了如何实现高可用、数据持久化、健康检查以及故障转移等生产级运维关键点,为中小团队提供了一种在容器化便利性与系统稳定性间取得平衡的可靠部署方案。

kkk56的博客 858

Android琐碎知识点,不断更新中

1.获得屏幕的高度和宽度    width=context,getResources().getDisplayMetrics().widthPixels;    height=context.getResources().getDisplayMetrics().heightPixels; 2.在Android Studio中隐藏ActionBar的方法。    getSupportActi

三石的专栏 2475

TK抓包协议分析:So层逆向

第三个参数是一个回调函数,这里他的返回值1表示成功,0表示失败,那我们手动把他Hook为0,让他不支持quic协议,实现降级。等,我们是为了解决抓包问题,那很有可能是在net目录下(network),那来搜索一下。开了抓包以后APP直接是网络无连接了,并且抓到的请求也是不正常的,下面我们就开始定位。看了半天感觉也没啥有用的东西,那下面我们整理一下已经有信息,来猜测一下,后续怎么进行。那可以猜测,我们真正需要Hook的那个函数也有可能是这样加载的,可以字符串搜索一下。

2503_90751938的博客 3421

详解AUTOSAR:AUTOSAR架构中的配置文件(拓展篇—7)

查看AUTOSAR代码包时会发现一些这样格式的文件:xxx_PBcfg.c、xxx_Lcfg.c和xxx_Cfg.h,本篇博文讲一讲这几个配置文件的作用和特点。

不脱发的程序猿 2148

Android 如何缩小Ratingbar的大小?

Android 如何缩小Ratingbar的大小?

qq_27494201的博客 487

26. 如何给 SAP BTP Cloud Foundry 环境分配运行时内存

摘要:本文解答了SAP BTP Cloud Foundry环境中Space可用内存为0MB的问题。指出Space内存配额取决于Org配额分配,其计算方式为Org总配额减去所有运行中应用实例的内存预留总和。详细解释了SAP BTP的资源分配层级(Global account→Subaccount→Environment→Org→Space),并说明如何通过Global account的Entity Assignments查看Memory Plan配额分配(以GB为单位)。最后建议遇到问题的用户检查Subacc

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1269

Android中RatingBar的自定义效果

有时候android系统提供给我们的ratingbar效果并不达到我们的要求,这个时候就可以自定义自己喜欢的ratingbar。从上面的效果可以看出,自定义这样的组件,需要两张图片: 。一张用来未选择的效果,一张用来显示的效果。那还要中间那种一半是未选择一半时选择的呢?其实当你写好这样的组件后,系统就会自动帮你自动解析生成那种效果。整个项目布局:我们一步一步来分析:Xml代...

weixin_33895604的博客 693

黑猫带你学eMMC协议第33篇:eMMC CQE功能介绍——一种模仿UFS命令队列的发送机制

本文详细介绍了eMMC协议中的Command Queuing Engine (CQE)及其相关功能。CQE是eMMC 5.1版本引入的新特性,旨在通过硬件处理命令队列,简化软件代码的编写。文章首先介绍了CQE的基本概念,包括其与Host Controller Interface (HCI)的区别,以及CQE如何通过Task Descriptor List (TDL)管理任务。接着,文章详细描述了CQE如何发送命令和数据给eMMC,并解释了Task Descriptor和Transfer Descriptor

黑猫奥利奥的博客 982

【高级】系统架构师 | 2026年上半年案例分析真题

标准答案:系统因缺乏足够历史数据(用户行为、物品信息或评分等),难以做出准确推荐的问题。另外两种:物品冷启动(新课程 / 新知识点缺少互动数据)系统冷启动(平台上线初期整体数据稀缺)类型典型表现常见缓解用户冷启动新注册学员无历史问卷/前测、热门兜底、人口统计学特征、知识图谱前置测评物品冷启动新课无人学无人评内容特征推荐、专家标注、探索流量系统冷启动新平台双边都稀缺规则引擎、运营冷启、知识图谱强约束路径本题已点明「用户冷启动」,另外两种按推荐系统经典三分法作答即可。

大胆尝试,小心实践 359

ListView与RatingBar

我们对ListView做了进一步的探讨,然而给出的例子list中的元素可以有多个widget,并可灵活设置他们的值,但是这些widget之间缺乏互动,而且getView()的调用,需要重刷给list的entry,我们希望能够在entry中触发变化。 本次,我们继续根据《

pengjianbosoft的专栏 1769

【漏洞复现】Palo Alto Networks PAN-OS GlobalProtect 命令注入漏洞 CVE-2024-3400

在特定PAN-OS版本和不同功能配置下,未经身份验证的攻击者可能利用此漏洞在防火墙上以root权限执行任意代码。技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。本文所提供的工具仅用于学习,禁止用于其他!poc如下,注入点在Cookie中,将其中的DNSlog地址替换为你的dnslog地址,借助DNSLOG来复现,可以使用http://dnslog.pw/

失心少年 1226

Android修改RatingBar颜色、大小,间距以及自定义样式终极方案

用过RatingBar的都知道,这玩意比较坑,不好调整大小、颜色及样式等难以自定义。本文先讲述原生RatingBar使用中的痛点,然后给出终极的解决方案。 一,颜色 这里给出修改颜色的方法 在style.xml中添加style <!--RatingBar颜色--> <style name="RatingBar" parent="Theme.AppCompat"&...

BigBoySunshine的专栏 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android控件RatingBar改变大小

直接使用width和height改变RatingBar的大小,发现根本gaibian

u014552288的专栏 1798

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

android App应用实现评分功能

android App应用实现评分功能。先上图,点击去评分。弹出手机安装的所有应用市场供用户选择,去评分。           实现起来很简单,只需要在点击事件中加上如下代码。直接看代码。     //启动应用市场去评分 Uri uri = Uri.parse("market://details?id="+getPackageName());

cdy的博客 公众号:Android开发吹牛皮 4157

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Android进度条(星级评分)使用详解(二)

一、SeekBar拖动条使用     SeekBar继承于ProgressBar,ProgressBar所支持的XML属性和方法完全适用于SeekBar。拖动条和进度条的区别是:进度条采用颜色填充来表明进度完成的程度,而拖动条则通过滑块位置来标识数值并且运行用户拖动滑块来改变值。因此,拖动条通常用于对系统的某种数值进行调节,比如调节音量、图片的透明度等。 1.拖动条效果 2.代码

嵌入式Developer_小J的天空 1891

android ratingbar 高度,Android RatingBar终极解决方案,大小、颜色、间距、样式随便定义...

用过RatingBar的都知道,这玩意比较坑,不好调整大小、间距、颜色及样式等难以自定义。这里给出一个RatingBar的终极解决方案-AndRatingBar。AndRatingBar开源库,它继承自Android原生的RatingBar,也继承了RatingBar可拖动的优良传统,通过对内部drawable的重写实现了大小可以根据控件大小而改变,并且可以方便的设置颜色,自定义图标等。1,先看一...

weixin_36166342的博客 2054

android自定义等级评分圆形进度条

一、测试截图 二、实现原理     package com.freedomanlib; import java.util.Timer; import java.util.TimerTask; import android.annotation.SuppressLint; import android.content.Context; import android.graphics....

Freedoman的专栏 3023

Android的RatingBar实现拖动评星

自定义RatingBar星星图片(res/drawable)                 android:drawable="@drawable/start1">                                                android:drawable="@drawable/start3">                    

u010015933的博客 2204

Android程序里加星级评分,Android 自定义星级评分控件

自定义Android 星级评分控件,先上一下效果图 关于控件的制作步骤:1.首先要确定控件所需要用到的属性,那位作为一个星级评分的控件,能想到的就是大小,形状,数量,评分设置标准,是否允许点击操作,监听等内容,所以我定义了以下属性public class Star extends View {//星星评分private float starMark = 0.0F;//星星个数private int...

weixin_29070861的博客 790

高级控件之星际评分条(RatingBar)的使用

星级评分条志拖动条类似,都允许用户拖动来改变进度,所不同的是,星级评分条通过星星显示进度.通常情况下.使用星级评分条表示对某一事务的支持度或是对某种服务的满意程度,如淘宝网中对卖家的好评度.

wenzhi的博客 1354

android自定义评分条(RatingBar)

android自定义评分条(RatingBar)本自定义控件是因为本人在开发过程中,评分条的适配出现问题而诞生,在网上找了些自定义控件,发现都不是自己想要的,所以只能自己动手。 原生的RatingBar适配难是因为在要自定义星星图标无法设置星星的大小和星星之间的间距,适配了这个厂商的手机可能那个手机有又问题,当时我就是在vivo手机适配好,到了同样分辨率的乐视手机出现了问题,我这里的思路是

liu_xiong的博客 8255

Android 调用已安装市场,去应用市场评分

最近需求要实现这样一个功能,在某个界面停留40多秒后,弹出一个Dialog,让用户去市场评分,或反馈意见。 /** * Created by Administrator on 2016/2/22. * * 用于提示用户评分工具类 */ public class GradeUtil {  private Timer timer; private Context mContex

hard work 1242

RatingBar

RatingBar评分

漠然的博客 534
上一篇: Android build.gradle(app)介绍
下一篇: 获取笔记本的SHA1的值。
JSON_ZJS
博客等级 码龄9年 30粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值