这两种进度条都是ProgressBar的子类

SeekBar:是一种可以拖动的进度条,比如播放音乐的进度

  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.widget.SeekBar;
  4. import android.widget.SeekBar.OnSeekBarChangeListener;
  5.  
  6. public class MainActivity extends Activity {
  7. private SeekBar seekbar;
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main);
  11.  
  12. seekbar = (SeekBar) findViewById(R.id.seekbar);
  13. seekbar.setProgress(30);
  14. seekbar.setSecondaryProgress(50);
  15. seekbar.setOnSeekBarChangeListener(new SeekBarListener());
  16. }
  17.  
  18. class SeekBarListener implements OnSeekBarChangeListener{
  19. /*
  20. * seekbar 该对象指的是触发了监听器的SeekBar对象,就是说哪个SeekBar触发了监听器(因为有可能多个SeekBar绑定到这个监听器上)
  21. * progress 指的是当前SeekBar的进度
  22. * fromUser 表示进度的改变是否来自于用户,是则为true
  23. * */
  24. //该方法当进度条变化的时候调用
  25. public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {
  26. System.out.println("progress="+progress+",fromUser="+fromUser);
  27. }
  28.  
  29. //当用户滑动进度条的时候调用
  30. public void onStartTrackingTouch(SeekBar seekBar) {
  31. System.out.println("Onstart");
  32. }
  33.  
  34. //当用户终止滑动的时候调用
  35. public void onStopTrackingTouch(SeekBar seekBar) {
  36. System.out.println("Onstop");
  37. }
  38.  
  39. }
  40. }
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context=".MainActivity" >
  10.  
  11. <SeekBar
  12. android:id="@+id/seekbar"
  13. android:layout_width="match_parent"
  14. android:layout_height="wrap_content"
  15. android:max="100"
  16. />
  17.  
  18. </RelativeLayout>

RatingBar:星星,就是用于评价星级

  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.view.View;
  4. import android.view.View.OnClickListener;
  5. import android.widget.Button;
  6. import android.widget.RatingBar;
  7. import android.widget.RatingBar.OnRatingBarChangeListener;
  8.  
  9. public class MainActivity extends Activity {
  10. private RatingBar ratingbar;
  11. private Button button;
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15.  
  16. ratingbar = (RatingBar) findViewById(R.id.ratingbar);
  17. ratingbar.setOnRatingBarChangeListener(new RatingBarListener());
  18. button = (Button)findViewById(R.id.button);
  19. button.setOnClickListener(new ButtonListener());
  20.  
  21. }
  22.  
  23. //该监听器只有onRatingChanged一个方法,第一个参数表示那个对象触发了监听器,第二个参数表示当前星数,第三个参数表示是否来自用户的改变
  24. class RatingBarListener implements OnRatingBarChangeListener{
  25. public void onRatingChanged(RatingBar ratingbar, float rating, boolean fromUser) {
  26. System.out.println("rating="+rating+",fromUser="+fromUser);
  27. }
  28. }
  29.  
  30. class ButtonListener implements OnClickListener{
  31. public void onClick(View v) {
  32. ratingbar.setRating(ratingbar.getRating()+0.5f);
  33. }
  34. }
  35. }
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context=".MainActivity" >
  10.  
  11. <RatingBar
  12. android:id="@+id/ratingbar"
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:numStars="5"
  16. android:stepSize="0.5"
  17. />
  18.  
  19. <Button
  20. android:id="@+id/button"
  21. android:layout_width="wrap_content"
  22. android:layout_height="wrap_content"
  23. android:layout_below="@id/ratingbar"
  24. android:text="button"
  25. />
  26.  
  27. </RelativeLayout>
  28. <!--
  29. android:numStars="4" 表示设置多少个星通常都是5个星
  30. android:progress="3" 设置当前的星数
  31. android:stepSize="0.5" 滑动的时候表示每次请进的距离,0。5就是每次半颗星,1就是一个星
  32. -->

控件_SeekBar与RatingBar的更多相关文章

  1. android基本控件学习-----SeekBar&RatingBar

    SeekBar(拖动条)和RatingBar(星级评分条)讲解 一.SeekBar(拖动条) (1)拖动条简单理解就是可以拖动的线,这个对我们来讲很常见,比如视频播放或者音乐播放我们拖动播放的进度,下 ...

  2. Android自定义评分控件:RatingStarView

    RatingStarView Android自定义的评分控件,类似ProgressBar那样的,使用星星图标(full.half.empty)作为progress标识的评分/打分控件. 效果图 图1: ...

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

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

  4. ProgressBar、RatingBar和Spinner控件

    1.ProgressBar.SeekBar与RatingBar控件 ProgressBar控件,也就是我们通常的进度条控件,可以显示加载的进度等.SeekBar控件,滑块控件,可以根据用户的需要动态为 ...

  5. Android常用控件之RatingBar的使用

    RatingBar控件比较常见就是用来做评分控件,先上图看看什么是RatingBar 在布局文件中声明 <?xml version="1.0" encoding=" ...

  6. 自定义RatingBar评分控件

    1.介绍 实现类似美团外卖评分供能,系统提供了RatingBar,今天来自定义一波,当做自定义view的一个学习,效果如下,能够滑动或者点击变化星星数量 2.自定义属性 在values目录下的attr ...

  7. Android 中常见控件的介绍和使用

    1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...

  8. 第二十九篇:使用SOUI的SMCListView控件

    列表控件是客户端应用最常用的控件之一.列表控件通常只负责显示数据,最多通知一下APP列表行的选中状态变化. 现在的UI经常要求程序猿在列表控件里不光显示内容,还要能和用户交互,显示动画等等,传统的列表 ...

  9. Android 控件属性介绍

    1.LinearLayout(线性布局): 可以分为水平线性:android:orientation= " horizontal " 和垂直线性:android:orientati ...

随机推荐

  1. 网络基础知识-TCP/IP协议各层详解

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  2. 微信小程序中this指向作用域问题this.setData is not a function报错

    在微信小程序中我们一般通过以下方式来修改data中的数据 this.setData({ index1: e.detail.value }) 比如在函数里面修改数据 bindFaChange1: fun ...

  3. RabbitMQ Exchange详解以及Spring中Topic实战

    前言 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦. 业务需求 ...

  4. Tomcat 服务器安装 SSL证书,实现 HTTP 自动跳转 HTTPS

    本文以阿里云为例: 一.下载证书 1.1.登录阿里云:https://www.aliyun.com/ 1.2.控制台搜索:SSL证书 1.3.进入 SSL证书控制台 1.4.申请免费 SSL证书,已有 ...

  5. mybatis mapper xml文件的导入方式和查询方式

    mybatis mapper xml文件的导入方式和查询方式 ssm框架 Mybatis  mapper与SQLSession的关系 每个基于MyBatis的应用都是以一个SqlSessionFact ...

  6. 一张图读懂PBN飞越转弯衔接TF/CF航段计算

    在PBN旁切转弯的基础上,再来看飞越转弯接TF(或CF)航段,保护区结构上有些相似,只是转弯拐角处的保护区边界有“简化”,其余部分是相近的. FlyOver接TF段的标称航迹有一个飞越之后转弯切入航迹 ...

  7. MySQLdump之single-transaction详解

    MySQLdump之single-transaction详解 single-transaction 开启general log选项 查看目前general log的情况 mysql> show ...

  8. c# 获取客户端文件

    /// <summary> /// 获取有效客户端文件控件集合,文件控件必须上传了内容,为空将被忽略, /// 注意:Form标记必须加入属性 enctype="multipar ...

  9. 加快maven中jar包的下载速度,maven镜像收集

    maven下载jar包的默认仓库是http://my.repository.com/repo/path速度较慢,通过配置国内镜像提高下载速度 1.打开eclipse--->Window---&g ...

  10. Sample Means(耶鲁大学教材)

    Sample Means The sample mean from a group of observations is an estimate of the population mean. Giv ...