1、拖动条的事件

实现SeekBar.OnSeekBarChangeListener接口。需要监听三个事件:
数值改变(onProgressChanged)
开始拖动(onStartTrackingTouch)
停止拖动(onStopTrackingTouch)

onStartTrackingTouch开始拖动时触发,与onProgressChanged区别是停止拖动前只触发一次
而onProgressChanged只要在拖动,就会重复触发。

2、拖动条的主要属性和方法
setMax 
设置拖动条的数值
setProgress
设置拖动条当前的数值
setSeconddaryProgress
设置第二拖动条的数值,即当前拖动条推荐的数值

代码:

package com.zdztools.seekbartest;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.SeekBar.OnSeekBarChangeListener; public class MainActivity extends Activity {
protected static final String TAG = "MainActivity";
private SeekBar seek;
private TextView myTextView; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); myTextView = (TextView) findViewById(R.id.myTextView);
seek = (SeekBar) findViewById(R.id.mySeekBar);
//初始化
seek.setProgress();
seek.setOnSeekBarChangeListener(seekListener);
myTextView.setText("当前值 为: -" + );
} private OnSeekBarChangeListener seekListener = new OnSeekBarChangeListener(){
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
Log.i(TAG,"onStopTrackingTouch");
} @Override
public void onStartTrackingTouch(SeekBar seekBar) {
Log.i(TAG,"onStartTrackingTouch");
} @Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
Log.i(TAG,"onProgressChanged");
myTextView.setText("当前值 为: -" + progress); }
};
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" > <TextView
android:id="@+id/myTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dip"
android:text=""
android:textSize="16sp"
android:textStyle="bold" /> <SeekBar
android:id="@+id/mySeekBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content" /> </LinearLayout>

运行效果图:

完整项目实例代码:SeekBarTest.zip

本人另外一篇博客:android三档自定义滑动开关,禁止点击功能的实现,用默认的seekbar组件实现

Android 拖动条(SeekBar)实例 附完整demo项目代码的更多相关文章

  1. Android——拖动条SeekBar

    1.activity_seekbar.xml <?xml version="1.0" encoding="utf-8"?><LinearLay ...

  2. 7.Android之评分条RatingBar和拖动条SeekBar学习

    评分条RatingBar和拖动条SeekBar很常见,今天来学习下. (1)RatingBar评分条 如图: <RelativeLayout xmlns:android="http:/ ...

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

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

  4. MySql 存储过程实例(附完整注释)(转)

    MySql 存储过程实例(附完整注释) 将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例:                                   ...

  5. Android 自学之拖动条SeekBar

    拖动条(SeekBar)和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程度,而拖动条则通过滑块的位置来标识数值----而且拖动条允许用户拖动滑动块来改变值,因此拖动条通常用于对系统的某种数值 ...

  6. Android 拖动条/滑动条控件、星级评分控件

    ProgressBar有2个子控件: SeekBar   拖动条控件 RatingBar   星级评分控件 1.拖动条控件 <SeekBar android:layout_width=" ...

  7. Android 监听双卡信号强度(附完整代码)

    Android 监听双卡信号强度 监听单卡信号强度 监听单卡的信号强度非常简单直接用TelephonyManager.listen()去监听sim卡的信号强度. TelephonyManager = ...

  8. REST风格框架实战:从MVC到前后端分离(附完整Demo)

    既然MVC模式这么好,难道它就没有不足的地方吗?我认为MVC至少有以下三点不足:(1)每次请求必须经过“控制器->模型->视图”这个流程,用户才能看到最终的展现的界面,这个过程似乎有些复杂 ...

  9. Android Gallery实现3D相册(附效果图+Demo源码)

    今天因为要做一个设置开机画面的功能,主要是让用户可以设置自己的开机画面,应用层需要做让用户选择开机画面图片的功能.所以需要做一个简单的图片浏览选择程序.最后选用Gallery作为基本控件.加入了一些炫 ...

随机推荐

  1. ThinkPHP函数详解:F方法

    我们已经了解了ThinkPHP中的S方法的用法,F方法其实是S方法的一个子集功能,仅用于简单数据缓存,并且只能支持文件形式,不支持缓存有效期,因为采用的是PHP返回方式,所以其效率较S方法较高,因此我 ...

  2. JAVA的instanceOf什么时候用啊

    当你拿到一个对象的引用时(例如参数),你可能需要判断这个引用真正指向的类.所以你需要从该类继承树的最底层开始, 使用instanceof操作符判断,第一个结果为true的类即为引用真正指向的类. cl ...

  3. Java 链式编程

    这里来做一个Java 链式编程的例子,基本就是每次返回一个对象本身,这样就能够去调用对象的方法和属性. package com.sun; public class Demo05 { /** * @pa ...

  4. group by java实现

    public static void abc(List list,String... sortName) throws Exception{ Map<String,List<Object& ...

  5. linux x64下编译libjpeg,libpng,zlib

    libJpeg编译: 下载libjpeg源码:http://www.ijg.org/,下载jpegsrc.v9a.tar.gz 解压源码,命令:tar -zxvf jpegsrc.v9a,源码文件夹为 ...

  6. Java_Web学习笔记_过滤器应用案例(解决全站字符乱码)

    解决全站字符乱码(POST和GET中文编码问题) servlet: l  POST:request.setCharacterEncoding(“utf-8”); l  GET: String user ...

  7. boa服务器问题日志

    1. 某一次在登录boa服务器的时候,不知哪里的问题,无法登录「192.168.1.0-192.168.3.255」网段的设备,但是公司IP网段的机器都可以用.最终发现,问题出现在自己的PC添加了浏览 ...

  8. 安装会声会影x8后打不开的解决方法

    操作系统:Windows 7 症状:双击程序图标后一直停留在购买介绍页,主程序界面一直无法打开 解决方法:删除系统补丁KB3126587和KB3126593

  9. 解决Mysql的主从数据库没有同步的两种方法

    今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist;   查看下进程是否Sleep太多.发现很正常.show master status; ...

  10. 深入理解Python中的生成器

    生成器(generator)概念 生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束. 生成器语法 生成器表达式: 通列表解 ...