Android 控件之RatingBar评分条

RatingBar是Adnroid中的评分条。效果挺得的

 

源码下载

一、概述

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

二、实例

1.布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:paddingLeft="10dip"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RatingBar android:id="@+id/ratingbar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="3"
        android:rating="2.5" />

    <RatingBar android:id="@+id/ratingbar2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5"
        android:rating="2.25" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip">
       
        <TextView android:id="@+id/rating"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
           
        <RatingBar android:id="@+id/small_ratingbar"
            style="?android:attr/ratingBarStyleSmall"
            android:layout_marginLeft="5dip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical" />
           
    </LinearLayout>

    <RatingBar android:id="@+id/indicator_ratingbar"
        style="?android:attr/ratingBarStyleIndicator"
        android:layout_marginLeft="5dip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical" />
           
</LinearLayout>

2.Java代码

package wjq.WidgetDemo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.RatingBar.OnRatingBarChangeListener;

public class RatingBarDemo extends Activity implements
  OnRatingBarChangeListener {
 private RatingBar mSmallRatingBar;
 private RatingBar mIndicatorRatingBar;
 private TextView mRatingText;

 /*
  * (non-Javadoc)
  *
  * @see android.app.Activity#onCreate(android.os.Bundle)
  */
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.ratingbarpage);
  
   mRatingText = (TextView) findViewById(R.id.rating);

         // We copy the most recently changed rating on to these indicator-only
         // rating bars
         mIndicatorRatingBar = (RatingBar) findViewById(R.id.indicator_ratingbar);
         mSmallRatingBar = (RatingBar) findViewById(R.id.small_ratingbar);
        
         // The different rating bars in the layout. Assign the listener to us.
         ((RatingBar)findViewById(R.id.ratingbar1)).setOnRatingBarChangeListener(this);
         ((RatingBar)findViewById(R.id.ratingbar2)).setOnRatingBarChangeListener(this);
 }

 @Override
 public void onRatingChanged(RatingBar ratingBar, float rating,
   boolean fromUser) {
   final int numStars = ratingBar.getNumStars();
         mRatingText.setText(
                  " 受欢迎度" + rating + "/" + numStars);

         // Since this rating bar is updated to reflect any of the other rating
         // bars, we should update it to the current values.
         if (mIndicatorRatingBar.getNumStars() != numStars) {
             mIndicatorRatingBar.setNumStars(numStars);
             mSmallRatingBar.setNumStars(numStars);
         }
         if (mIndicatorRatingBar.getRating() != rating) {
             mIndicatorRatingBar.setRating(rating);
             mSmallRatingBar.setRating(rating);
         }
         final float ratingBarStepSize = ratingBar.getStepSize();
         if (mIndicatorRatingBar.getStepSize() != ratingBarStepSize) {
             mIndicatorRatingBar.setStepSize(ratingBarStepSize);
             mSmallRatingBar.setStepSize(ratingBarStepSize);
         }

 }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3d目标检测_CVPR 2020 |基用于3D目标检测的层级图网络

论文&#xff1a;A Hierarchical Graph Network for 3D Object Detection on Point Clouds论文地址&#xff1a;https://www.aminer.cn/pub/5eccb534e06a4c1b26a834c7?confcvpr2020由于大多数现有的点云对象检测方法不能充分适应点云的特征(例如稀疏性)&#xff0c;所以一些关…

position定位 响应式_使用 Vue3 实现双盒子定位 Overlay

之前说过&#xff0c;使用 可以很优雅的把某个组件渲染到根节点之外的节点&#xff0c;同时使其渲染的内容不丧失响应式和对应的生命周期函数调用。那么基于此&#xff0c;用 实现相对于某一元素的 Overlay 。实际上&#xff0c;这篇文章跟 Vue3 的关系不大&#xff0c;只是通…

月薪5 千~1万的兼职你要不要?不限学历,不限男女!

全世界只有3.14 % 的人关注了爆炸吧知识你想拥有一份月薪过万的兼职吗&#xff1f;窝在家里就行的那种&#xff1f;这就有一份看起来高大上、实则难度系数并不高的英语翻译&#xff01;兼职英语翻译到底有多赚钱&#xff1f;水平一般的英语笔译员一周7天每天拿出2小时翻译&…

【分享】154页微软WPF官方手册(含.NETCore和.NET Framwork双版本)

物联网IOT多场景概念落地&#xff0c;带火了WPF招聘&#xff0c;像阿里影视、百度地图、小米小鹏特斯拉都在高薪抢WPF人才了。机智的.NET开发者去关注学习WPF的时候却发现&#xff0c;市面上真的太缺WPF优秀的教程了&#xff0c;还好这里有最权威最详尽的微软官方pdf教程&#…

ln -s 的一个坑

为什么80%的码农都做不了架构师&#xff1f;>>> 事情是这样的&#xff0c;今天在ssh到iphone上将一个应用内目录软链接配置到用户目录下时&#xff0c;执行了如下命令&#xff1a; cd /var/mobile/Applications/9E13D9B8-63E0-49A5-82CE-6DB914495EC1/Documentsmkd…

知乎高赞:这个开挂神器简直了!

全世界只有3.14 % 的人关注了爆炸吧知识对于工作学习中常要用到PPT的人来说&#xff0c;每当谈起PPT&#xff0c;是否都会出现以下印象&#xff1a;[买模板]→[改PPT]→[粘贴复制]→[应付领导][操作繁琐]→[体力劳动]→[熬夜]→[加班]从什么时候开始&#xff0c;PPT从一个 表达…

性能再提升70%?大咖前瞻带你揭开.NET6的神秘面纱!

本月初微软官宣 .NET6 的RC1即将在11月正式发布&#xff0c;这意味着 .NET6 正式版跟我们见面的时间又近了一步。在之前的 .NET6 预览版本中&#xff0c;微软加入了大量新功能特性&#xff0c;而在最终版本中将不再额外加入新的内容&#xff0c;只对现在的内容进行进一步性能优…

JMS : Java Message Service (Java消息服务)之一 [转]

为什么80%的码农都做不了架构师&#xff1f;>>> 1 引言1.1 编写目的本文作为B2bi项目中开源产品JORAM的使用指导文档&#xff0c;旨在帮助项目组人员方便明了的进行JMS模块的详细设计和开发工作。本文档主要包含建设银行EAI平台B2Bi子系统中使用的开源JMS产品??J…

在床上玩手机,千万不能把手机放下!

1 当你在床上玩手机时▼2 据说兔子都是大长腿▼3 真是凭实力单的身▼后续▼4 这不是怕你不信嘛▼5 不看监控真不知道他咋上去的▼6 听说&#xff0c;他们已经没有暑假了▼7 感觉有被冒犯到▼你点的每个赞&#xff0c;我都认真当成了喜欢

python浪漫代码_五行Python代码实现批量抠图

你是否曾经想将某张照片中的人物抠出来&#xff0c;然后拼接到其他图片上去&#xff0c;从而可以即使你在天涯海角&#xff0c;我也可以到此一游&#xff1f;专业点的人使用 PhotoShop 的“魔棒”工具可以抠图&#xff0c;非专业人士可以使用各种美图 APP 来实现&#xff0c;但…

日常使用Git,这些问题你遇到过吗?

GitHub 作为世界上最大的代码托管平台&#xff0c;几乎所有的开发者都有个 GitHub 的账号。因为无论对于开发者还是普通用户来讲&#xff0c;GitHub 上面都有不少优质开源项目可以借鉴和学习。其受欢迎程度还体现在&#xff0c;越来越多的人会主动优化自己的 GitHub 主页&#…

Android API 中文(14) —— ViewStub

前言关键字&#xff1a; android.view.ViewStub&#xff0c;版本为Android 2.2 r1本章翻译来自唐明 &#xff0c;这里本博负责整理和发布&#xff0c;欢迎其他译者一起参与Android API 的中文翻译行动&#xff0c;联系我over140gmail.com。 声明 欢迎转载&#xff0c;但请保留文…

stm32l0的停止模式怎么唤醒_「正点原子STM32Mini板资料连载」第十九章 待机唤醒实验...

1)实验平台&#xff1a;正点原子STM32mini开发板2)摘自《正点原子STM32 不完全手册(HAL 库版)》关注官方微信号公众号&#xff0c;获取更多资料&#xff1a;正点原子第十九章 待机唤醒实验本章我们将向大家介绍 STM32 的待机唤醒功能。在本章中&#xff0c;我们将使用 WK_UP 按…

Pgbouncer 介绍

Pgbouncer 介绍 PostgreSQL 的轻量的连接池。 特性 在轮转连接的时候有好几种方式&#xff1a;Session pooling/会话连接池最礼貌的方法。在客户端连接的时候&#xff0c;在它的连接生命期内&#xff0c;会给它赋予一个服务器连接。在客户端断开的时候&#xff0c;服务器连接会…

阿里全球数学竞赛落幕:全球最强73人出炉,北大获奖人数第一,还“炸出”各路世界大牛...

全世界只有3.14 % 的人关注了爆炸吧知识来源&#xff1a;量子位 ID&#xff1a;QbitAI作者&#xff1a;边策 金磊又是一场学霸的盛宴。阿里达摩院举办的第二届数学竞赛今天顺利结束&#xff0c;这场号召全民参与的数学竞赛&#xff0c;初赛的题目画风是这样的&#xff1a;是不…

【Azure + Core】实现CI/CD(一)构建镜像并推送仓库

&#xff08;海上生明月&#xff0c;天涯共此时&#xff09;今天是农历八月十六&#xff0c;大家中秋节快乐&#xff01;放了三天假&#xff0c;和家人整理下屋子&#xff0c;打扫下卫生&#xff0c;闲着无聊就研究点儿新东西。最近一直再看DevOps相关的内容&#xff0c;自从开…

detectron2训练自己的数据集_keras版MaskRCNN来训练自己的目标检测数据集

向AI转型的程序员都关注了这个号&#x1f447;&#x1f447;&#x1f447;机器学习AI算法工程 公众号&#xff1a;datayx一、运行环境的安装&#xff1a;1、下载好cuda9跟cudnn7&#xff0c;然后在安装好后&#xff0c;cuda其会自动添加到环境变量里&#xff0c;所以使用kera…

Win7系统中必需记住的14个常用快捷键

在使用电脑时&#xff0c;多多少少地都会用到一些快捷键&#xff0c;尤其是在玩游戏&#xff0c;或使用一些软件时。快捷键不仅方便&#xff0c;如果用的好&#xff0c;甚至可以大大提升我们的工作效率。而且&#xff0c;快捷键不仅可以在软件中使用&#xff0c;在Win7系统中其…

git 删除远程分支

2019独角兽企业重金招聘Python工程师标准>>> git branch -r -d origin/dev git push origin :dev 注意&#xff1a; git push origin 后面有个空格 转载于:https://my.oschina.net/u/1176097/blog/391573

我看过《隐秘的角落》才知道,理科生有多可怕!

全世界只有3.14 % 的人关注了爆炸吧知识最近&#xff0c;大家都被《隐秘的角落》刷屏了吧&#xff1f;但吃瓜、看瓜的背后&#xff0c;我看到了理科生的可怕之处。数学课上&#xff0c;为了暗示朱朝阳自己杀人其实是因为被背叛&#xff0c;张东升利用笛卡尔在爱情里或美好与悲惨…