今天在看一个音乐播放器的源代码时候用到了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. T-SQL语句——UNION, EXCEPT, INTERSECT

    UNION,EXCEPT, INTERSECT关键字用于对集合的查询,它们的作用分别为: UNION:合并两个或多个 SELECT 语句的结果集,并把重复结果去除: UNIONALL:合并两个或多个 ...

  2. Mysql int(11) 和 int(1)

    Mysql 可以为整数类型制定宽度,例如:int(11) ,对大多数应用这是没有意义的:它不会限制值的合法范围,它只是规定了Mysql的一些交互工具(例如mysql命令行客户端)用来显示字符个数.对于 ...

  3. 拉姆达表达式 追加 条件判断 Expression<Func<T, bool>>

    public static class PredicateBuilder { /// <summary> /// 机关函数应用True时:单个AND有效,多个AND有效:单个OR无效,多个 ...

  4. 使用filter统一设置编码

    1.写一个类EncodingFilter.java,实现javax.servlet.Filter(文件命名做到见名知意) package com.filter; import java.io.IOEx ...

  5. 完美解决ListView 与 ScrollView 共存问题

    1:首先设置ListView的高度,在setAdapter之后调用此方法. public static void setListViewHeightBasedOnChildren(ListView l ...

  6. ADT 连接手机运行android应用程序时报错

    The connection to adb is down, and a severe error has occured.    You must restart adb and Eclipse.  ...

  7. Codeforces 463D Gargari and Permutations

    http://codeforces.com/problemset/problem/463/D 题意:给出k个排列,问这k个排列的最长公共子序列的长度. 思路:只考虑其中一个的dp:f[i]=max(f ...

  8. LeetCode_Palindrome Partitioning II

    Given a string s, partition s such that every substring of the partition is a palindrome. Return the ...

  9. Windows下连接php5.3+sql server2008

    php连接sql server真是一件闹心的事, 折腾了许久,今天有了点起色,还是不错的. mssql extension is not available anymore on Windows wi ...

  10. 利用autoit自动关闭指定标题窗口

     最近使用PL/SQL Developer 比较两个数据库数据差异,因部分表上没有主键,PL/SQL 就会弹出一个确认框提示某某表没有主键.因为有很多表没有主键,就不停的弹出确认窗口,得不停的点击 ...