今天在看一个音乐播放器的源代码时候用到了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. HTML5实现“摇一摇”效果

    在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态.加速度等数据(另还有deviceOrientat ...

  2. 网上查了点关于windows注册表的知识,发现基本名词没理解好,于是整理这篇笔记(可能个别地方不准确,先这么理解吧),有了这个理解,再去看网上的文章,就差不读了

    打开注册表编辑器,左边窗格中显示的是“注册表项”,右边窗格中显示的是“注册表项的项值” 子项:子项是相对父项而言的,在某一个项(父项)下面出现的项(子项) 值项:一个项可以有一个或多个项值,当前被使用 ...

  3. Scala学习笔记--上界(<:)、视图界定(<%)、上下文界定(T:M)

    上界 下界 视界 object Test{ def main(args:Array[String]):Unit={ def mulBy(factor:Double)=(x:Double)=>fa ...

  4. juqery easy ui 实现二级菜单联动

    实现效果 代码: <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat= ...

  5. C和C++的学习过程总结

    总是被同学们问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复. 一家之言,欢迎拍砖哈. 1.可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而 ...

  6. ajax 调用后台接口示例

    $(function(){ var _del_time_list = $("select[name='del_time_list']"); var _del_table_name ...

  7. android的原理--为什么我们不需要手动关闭程序

    内容搜集自网络,有所删改       不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了.android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系.如果你知 ...

  8. UVa10653.Prince and Princess

    题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  9. 【HDU1231】How Many Tables(并查集基础题)

    什么也不用说,并查集裸题,直接盲敲即可. #include <iostream> #include <cstring> #include <cstdlib> #in ...

  10. batch 批处理获取系统时间

    文件test.bat,内容命令如下: @echo off set filename=%,%-%,%-%,% %,%:%,%:%,% echo %filename% pause