SeekBar和RatingBar
今天在看一个音乐播放器的源代码时候用到了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的更多相关文章
- android学习---SeekBar和RatingBar
SeekBar 拖动条:拖动条和滚动栏类似,当是拖动条能够拖动滑块改变进度 RatingBar 星级评分条:星级评分条与拖动条相似 SeekBar特有的xml属性 android:thumb 指 ...
- 二、Android应用的界面编程(六)ProgressBar及其子类[SeekBar、RatingBar]er
通常用于向用户显示某个耗时操作完成的百分比.Android支持几种风格的进度条,通过style属性可以为ProgressBar指定风格.该属性支持如下几个属性值. # @android:style/W ...
- Android学习笔记(九) SeekBar和RatingBar
一.SeekBar的主要属性 -max -progress -secondaryProgress 二.onSeekBarChangeListener -onProgressChanged(SeekBa ...
- SeekBar和RatingBar的基本使用方法
SeekBar: main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...
- Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar
原文:Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar 前面两期都在学习ProgressBar的使用,关于自定义ProgressBar的内容后期会继续学习的,本期先 ...
- android学习笔记九——RatingBar
RatingBar==>星级评分条 RatingBar和SeekBar十分相似,它们甚至有相同的父类:AbsSeekBar.两者都允许用户通过拖动来改变进度: 两者最大的区别在于RatingBa ...
- ProgressBar、RatingBar和Spinner控件
1.ProgressBar.SeekBar与RatingBar控件 ProgressBar控件,也就是我们通常的进度条控件,可以显示加载的进度等.SeekBar控件,滑块控件,可以根据用户的需要动态为 ...
- Android开发-之认识palette
Android开发中,Google工程师已经给我们封装好了很多的按钮,使得我们在开发中非常的方便和便捷. 那么今天就来认识一下常用的按钮,那么在之前的课程中我已经详细讲过了Button按钮,那么这里就 ...
- Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类
一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...
随机推荐
- FCKeditor 插件开发 示例
(FCKeditor.地址是:http://www.fckeditor.net/.我下载的版本是:2.6.3.)What ?FCKeditor一直是web上编辑器的比较好的一个选择,他是开源的,而且效 ...
- C++之------进制学习
碰到一些寄出的东西不是很理解,就是关于多进制在代码中的转换: 比喻一个数number的多进制表示方法:B:二进制 Q:八进制 D:十进制 H:十六进制 二进制:0bnumber ( ...
- Effective Java2读书笔记-类和接口(五)
第21条:用函数对象表示策略 这一条其实也没说啥,就是策略模式.碰到这种场景时,定义一个策略接口,然后不同策略子类实现它,主类包含这个接口的引用就可以了. 第22条:优先考虑静态成员类 嵌套类是指被定 ...
- filter 以及 orderBy的使用
filter用于关键字过滤操作,orderBy用于排序操作,运行界面如下: 点击标题Name与Email实现排序功能,输入框中输入关键字进行过滤,同时实现根据关键字进行过滤后进行排序操作: ng-re ...
- Scala开发环境搭建
Ubuntu14.04下Scala开发环境搭建. 1:安装JDK,jdk-6u45-linux-x64.bin 将其安装到/usr/lib/jvm/jdk1.6.0_45/. 2:安装Scala,下载 ...
- Qt编程之实现在QFileDialog上添加自定义的widget
上网搜索找到的方法如下: http://www.qtforum.org/article/20841/how-to-add-a-qwidget-in-qfiledialog.html#post78422 ...
- HMVC
HMVC(Hierarchical-Model-View-Controller),也可以叫做 Layered MVC.顾名思义,就是按等级划分的 MVC 模式,简单的解释就是把MVC又细分成了多个子 ...
- SICP 练习 1.3
(define (sum a b) (+ a b)) (define (sum-two a b c) ( cond ((and (> (sum a b) (sum a c)) (> (su ...
- 编程内功修炼之数据结构—BTree(一)
BTree,和二叉查找树和红黑树中一样,与关键字相联系的数据作为关键字存放在同一节点上. 一颗BTree树具有如下的特性:(根为root[T]) 1)每个节点x有以下域: (a)n[x],当前存储在节 ...
- hadoop深入研究:(十六)——Avro序列化与反序列化
转载请写明来源地址:http://blog.csdn.net/lastsweetop/article/details/9773233 所有源码在github上,https://github.com/l ...