今天在看一个音乐播放器的源代码时候用到了SeekBar,就翻出来mars老师的视频复习了一下,然后综合使用了一下.

首先先看下运行效果:

 

下来我们看看布局文件的设计:
main.xml:

 <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
   <TextView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="SeekBar"/>
   <SeekBar
   android:id="@+id/sb_seekbar"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"/>
   <TextView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="RatingBar"/>
   <RatingBar
   android:id="@+id/rb_ratingbar"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:numStars="5"
   android:stepSize="0.5"/>
   </LinearLayout>

在布局文件中我只定义了SeekBar ,RatingBar这两个控件。在定义RatingBar中有两个属性需要说明一下,android:numStars是用来设置你要显示的星星的个数,这个根据需求自己来设置,我在这里设置为5个,android:stepSize是来设置RatingBar每次前进多少,这里我设置为一半:0.5个星,这个也是根据需求来设置。

下面来看java代码的编写,这连个控件的具体用法我在编写代码时做了注释,在这里我就不做多余的解释了,直接将代码附在下面,大家参考下:

SeekBarActivity:

 package com.jason.Seekbar;
  import android.app.Activity;
  import android.os.Bundle;
  import android.util.Log;
  import android.widget.RatingBar;
   import android.widget.RatingBar.OnRatingBarChangeListener;
   import android.widget.SeekBar;
   import android.widget.SeekBar.OnSeekBarChangeListener;
   /**
   *引用 OnSeekBarChangeListener和OnRatingBarChangeListener
   */
   public class SeekBarActivity extends Activity implements OnSeekBarChangeListener,OnRatingBarChangeListener {
   private SeekBar bar;
   private RatingBar ratingBar;    @Override
   public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   bar = (SeekBar)findViewById(R.id.sb_seekbar);
   ratingBar=(RatingBar)findViewById(R.id.rb_ratingbar);
   bar.setMax(100);//设置seekbar的最大值
   bar.setOnSeekBarChangeListener(this);//设置监听器,监听进度条的改变状态  
   ratingBar.setOnRatingBarChangeListener(this);//设置监听器,监听ratingbar的改变状态
   }
   /**
   * 当进度条的进度发生变化时调用该方法
   * seekBar, 当前的seekbar
   * progress, seekbar的当前进度
   * fromUser, 是否是用户改变进度的
   */
   @Override
   public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
   Log.v("TAG", "onProgressChanged-->seekBar="+seekBar.getId()+"progress="+progress+"fromUser="+fromUser);
   }
   /**
   * 当用户开始滑动进度条时调用该方法
   */
   @Override
   public void onStartTrackingTouch(SeekBar seekBar) {
   Log.v("TAG", "onStartTrackingTouch start--->"+"+seekBar="+seekBar.getProgress());
   }
   /**
   * 当用户结束滑动是调用该方法
   */
   @Override
   public void onStopTrackingTouch(SeekBar seekBar) {
   Log.v("TAG", "onStopTrackingTouch end--->"+"+seekBar="+seekBar.getProgress());
   }
   /**
   * 当ratingBar的进度发生变化时调用该方法
   * ratingBar, 当前的ratingBar
   * rating 代表评分
   * fromUser 是否是用户操作的
   */
   @Override
   public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
   Log.v("TAG", "onRatingChanged-->ratingBar="+ratingBar.getId() +"rating="+rating+"fromUser="+fromUser);
   }
   }

上面在为两个控件设置监听时,重写了很多方法,这些方法都很容易理解,根据不同的需求在重写这些方法。

SeekBar和RatingBar的更多相关文章

  1. android学习---SeekBar和RatingBar

    SeekBar 拖动条:拖动条和滚动栏类似,当是拖动条能够拖动滑块改变进度 RatingBar 星级评分条:星级评分条与拖动条相似 SeekBar特有的xml属性 android:thumb    指 ...

  2. 二、Android应用的界面编程(六)ProgressBar及其子类[SeekBar、RatingBar]er

    通常用于向用户显示某个耗时操作完成的百分比.Android支持几种风格的进度条,通过style属性可以为ProgressBar指定风格.该属性支持如下几个属性值. # @android:style/W ...

  3. Android学习笔记(九) SeekBar和RatingBar

    一.SeekBar的主要属性 -max -progress -secondaryProgress 二.onSeekBarChangeListener -onProgressChanged(SeekBa ...

  4. SeekBar和RatingBar的基本使用方法

    SeekBar: main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  5. Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar

    原文:Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar 前面两期都在学习ProgressBar的使用,关于自定义ProgressBar的内容后期会继续学习的,本期先 ...

  6. android学习笔记九——RatingBar

    RatingBar==>星级评分条 RatingBar和SeekBar十分相似,它们甚至有相同的父类:AbsSeekBar.两者都允许用户通过拖动来改变进度: 两者最大的区别在于RatingBa ...

  7. ProgressBar、RatingBar和Spinner控件

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

  8. Android开发-之认识palette

    Android开发中,Google工程师已经给我们封装好了很多的按钮,使得我们在开发中非常的方便和便捷. 那么今天就来认识一下常用的按钮,那么在之前的课程中我已经详细讲过了Button按钮,那么这里就 ...

  9. Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类

    一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...

随机推荐

  1. FCKeditor 插件开发 示例

    (FCKeditor.地址是:http://www.fckeditor.net/.我下载的版本是:2.6.3.)What ?FCKeditor一直是web上编辑器的比较好的一个选择,他是开源的,而且效 ...

  2. C++之------进制学习

    碰到一些寄出的东西不是很理解,就是关于多进制在代码中的转换: 比喻一个数number的多进制表示方法:B:二进制 Q:八进制 D:十进制 H:十六进制 二进制:0bnumber           ( ...

  3. Effective Java2读书笔记-类和接口(五)

    第21条:用函数对象表示策略 这一条其实也没说啥,就是策略模式.碰到这种场景时,定义一个策略接口,然后不同策略子类实现它,主类包含这个接口的引用就可以了. 第22条:优先考虑静态成员类 嵌套类是指被定 ...

  4. filter 以及 orderBy的使用

    filter用于关键字过滤操作,orderBy用于排序操作,运行界面如下: 点击标题Name与Email实现排序功能,输入框中输入关键字进行过滤,同时实现根据关键字进行过滤后进行排序操作: ng-re ...

  5. Scala开发环境搭建

    Ubuntu14.04下Scala开发环境搭建. 1:安装JDK,jdk-6u45-linux-x64.bin 将其安装到/usr/lib/jvm/jdk1.6.0_45/. 2:安装Scala,下载 ...

  6. Qt编程之实现在QFileDialog上添加自定义的widget

    上网搜索找到的方法如下: http://www.qtforum.org/article/20841/how-to-add-a-qwidget-in-qfiledialog.html#post78422 ...

  7. HMVC

    HMVC(Hierarchical-Model-View-Controller),也可以叫做 Layered MVC.顾名思义,就是按等级划分的 MVC 模式,简单的解释就是把MVC又细分成了多个子 ...

  8. SICP 练习 1.3

    (define (sum a b) (+ a b)) (define (sum-two a b c) ( cond ((and (> (sum a b) (sum a c)) (> (su ...

  9. 编程内功修炼之数据结构—BTree(一)

    BTree,和二叉查找树和红黑树中一样,与关键字相联系的数据作为关键字存放在同一节点上. 一颗BTree树具有如下的特性:(根为root[T]) 1)每个节点x有以下域: (a)n[x],当前存储在节 ...

  10. hadoop深入研究:(十六)——Avro序列化与反序列化

    转载请写明来源地址:http://blog.csdn.net/lastsweetop/article/details/9773233 所有源码在github上,https://github.com/l ...