ProgressBar有2个子控件:

SeekBar   拖动条控件

RatingBar   星级评分控件

1、拖动条控件

 <SeekBar
android:layout_width="300dp"
android:layout_height="wrap_content"
android:id="@+id/seekBar"
android:min="0"
android:max="100"
android:progress="50" /> <!--滑块默认位置-->

也可以使用自定义的滑块:

  <SeekBar
android:layout_width="300dp"
android:layout_height="100dp"
android:id="@+id/seekBar"
android:thumb="@drawable/a" <!--使用自定义的图片作为滑块-->
android:min="0"
android:max="100"
android:progress="50" />

说明:

并不会自动显示对应的刻度值。

滑块可以滑动,但没有事件响应。需要我们在.java文件中添加事件监听:

 SeekBar mySeekBar=findViewById(R.id.seekBar);
mySeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
/*
三个形参:
SeekBar seekBar 触发此事件/监听的Seekbar
int progress 当前刻度值。
boolean fromUser 是否为用户拖动产生的响应,这个不常用
虽然setText(int x)可以设置int型的值,但这个int指的是 R.string.app_name 这样的常量值,不是整型数字。不能setText(progress)这样用,要先转换为String。
*/ //滑动滑块时触发
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//判断改变的是否是指定的滑动条。预防当前Activity对应的xml布局中有多个滑动条,如果只有一个滑动条,则不必判断
if (seekBar.getId()==R.id.seekBar){ }
} //滑动开始时触发
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
if (seekBar.getId()==R.id.seekBar){ }
} //滑动停止时触发
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (seekBar.getId()==R.id.seekBar){ }
}
});
}

滑动滑块一次触发的事件:

最先开始时触发   onStartTrackingTouch()   ,滑动过程中一直触发   onProgressChanged(),最后停止时触发   onStopTrackingTouch()。

就是说滑动过程中会不停地触发  onProgressChanged()  。

2、星级评分控件

  <RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

总共默认5颗星,初始默认选择0颗星,默认可修改,默认步长为0.5,即可以点亮半颗星。也可手动设置:

 <RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ratingBar"
android:isIndicator="true" <!--是否可修改,true是不可修改,false是可修改,默认为fasle-->
android:numStars="7" <!--总星数-->
android:rating="5" <!--初始默认星数-->
android:stepSize="1" /> <!--步长-->

有时候只是向用户展示评分,并不需要用户评分,比如排行旁的xx指数,这时就需要设置   android:isIndicator="true"    不可修改。

默认为false,可修改。

在.java文件中获取已点亮的星数:

  RatingBar ratingBar=findViewById(R.id.ratingBar);
//获取已点的星数,因为步长可以为小数,所以获取到的是float
float rates=ratingBar.getRating();

在Android中,几乎所有控件都提供了setXxx()、getXxx()方法供我们在.java文件中操作控件的属性。

Android 拖动条/滑动条控件、星级评分控件的更多相关文章

  1. UWP开发---DIY星级评分控件

    一,需求来源 在开发韩剧TV UWP过程中,遇到了星级评分的控件问题,在安卓和html中很容易用现有的轮子实现星级评分,搜索了一下目前UWP还未有相关文章,在WPF的一篇文章中使用Photo shop ...

  2. Android自定义Seekbar滑动条,Pop提示跟随滑动按钮一起滑动

    由于项目需要做出此效果,自定义写了一个. 效果图 思路: 原始的seekbar只有滑动条并没有下方的提示文字,所以我们必须要继承Seekbar重写这个控件. 代码: 在values文件夹下新建attr ...

  3. 【Android】5.8 滑动条(SeekBar)

    分类:C#.Android.VS2015: 创建日期:2016-02-07 一.简介 滑动条也叫拖动条(用户可拖动改变滑动条的值),比如可让用户调节音量大小.调节屏幕亮度.调节歌曲或视频当前播放的位置 ...

  4. Android星星评分控件RatingBar的使用

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

  5. OpenCV——图像的载入、显示、输出到文件和滑动条、鼠标操作

    图像的载入.显示.输出到文件和滑动条 滑动条 示例: 鼠标操作

  6. iOS- 非整星的评分控件(支持小数)

    概述 订单评论里实现星级评分控件: 简单整星评价与非整星的精评价. 详细 代码下载:http://www.demodashi.com/demo/10711.html 现在很多应用都有评分功能. 有了订 ...

  7. Android View 之进度条+拖动条+星级评论条....

    PS:将来的你会感谢现在奋斗的自己.... 学习内容: 1.进度条 2.拖动条 3.星级评论条 1.进度条...       进图条这东西想必大家是很熟悉的...为了使用户不会觉得应用程序死掉了,因此 ...

  8. VC++ 中滑动条(slider控件)使用 [转+补充]

    滑动控件slider是Windows中最常用的控件之一.一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值.通常,在滑动控件附近一定有标签控件或编辑框控 ...

  9. Android GridView 滑动条设置一直显示状态

    模拟GridView控件: <GridView android:id="@+id/picture_grid" android:layout_width="match ...

随机推荐

  1. 9.python3实用编程技巧进阶(四)

    4.1.如何读写csv数据 爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup book ...

  2. RAID10(5块硬盘)的简介和创建

    一.        RAID10简介 (1)兼具速度和安全性,但成本很高. (2)继承了RAID0的快速与RAID1的安全,RAID1在这里提供了冗余备份的阵列,而RAID0则负责数据的读写阵列.因这 ...

  3. elementui-如何同时获取多选框的label和value

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- impor ...

  4. centos7虚拟机端口命令

    cat /etc/redhat-release  #  查看centos 版本 Centos7端口常见命令 虚拟机新开了5005端口,系统内部是显示开了的,但是外部不能访问端口. 一些需要用到的命令: ...

  5. cookie:

    Django Django处理一个请求的流程 在浏览器的地址栏中输入地址,回车,发了一个GET请求 wsgi模块接收了请求,将请求的相关信息封装成request对象 根据地址找到对应函数 执行函数获取 ...

  6. Log日志级别从高到低排序 ERROR、WARN、INFO、DEBUG

    Log4j建议只使用四个级别,优先级从高到低分别是 ERROR.WARN.INFO.DEBUG.通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关.比如在这里定义了INFO级别,则应 ...

  7. luoguP4770 [NOI2018]你的名字

    题意 不妨先考虑\(l=1,r=|S|\)的情况: 这时我们要求的其实是\(S,T\)的本质不同的公共子串数量. 首先对\(S\)建一个后缀自动机,同时对于每个\(T\),我们也建一个自动机. 根据后 ...

  8. Paper | Feedback Networks

    目录 读后总结 动机 故事 ConvLSTM图像分类网络 损失函数 与Episodic Curriculum Learning的结合 实验方法 发表在2017年CVPR. 读后总结 这篇论文旨在说明: ...

  9. CSP-J&S2019第二轮游记认证

    Day 0 我毕竟不是竞赛省,在黑龙江这个弱省任何初中都没有竞赛生的----在初中,文化课第一----永远如此. 因而,我并不能翘掉周五的文化课来复习或是提前前往省城参加下午2:00~6:00的试机. ...

  10. powersploit使用实例

    一.AntivirusBypass(绕过杀毒) Find-AVSignature  发现杀软的签名 1.先在靶机(windows 2008)上远程加载位于win7的Invoke-Shellcode.p ...