Android 自学之拖动条SeekBar

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

SeekBar允许用户改变拖动条的滑块外观,改变滑块外观通过如下属性来指定

android:thumb  指定一个Drawable对象,该对象将作为自定义滑块。

为了让程序能响应拖动条滑块位置的改变,程序可以考虑为他绑定一个OnSeekBarChangerListener监听器。

通过一个实例:通过滑动块来改变图片的透明度,来看看SeekBar。

Layout/main.xml


 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7 <ImageView
8 android:id="@+id/image"
9 android:layout_width="fill_parent"
10 android:layout_height="240px"
11 android:src="@drawable/lijiang"
12 />
13 <!-- 定义一个拖动条,并改变它的滑块外观 -->
14 <SeekBar
15 android:id="@+id/seekbar"
16 android:layout_width="fill_parent"
17 android:layout_height="wrap_content"
18 android:max="255"
19 android:progress="255"
20 android:thumb="@drawable/ic_launcher"
21 />
22 </LinearLayout>

上面的界面布局代码中定义了两个组件:ImageView,SeekBar;SeekBar中thumb我使用了应用图标做了滑动块,下面我们看看主程序里面为滑动块添加的事件监听器

主程序:com.example.seekbar.SeekBarTest.java


 1 package com.example.seekbar;
2
3 import android.support.v7.app.ActionBarActivity;
4 import android.support.v7.app.ActionBar;
5 import android.support.v4.app.Fragment;
6 import android.os.Bundle;
7 import android.view.LayoutInflater;
8 import android.view.Menu;
9 import android.view.MenuItem;
10 import android.view.View;
11 import android.view.ViewGroup;
12 import android.widget.ImageView;
13 import android.widget.SeekBar;
14 import android.widget.SeekBar.OnSeekBarChangeListener;
15 import android.os.Build;
16
17 public class SeekBarTest extends ActionBarActivity {
18
19 @Override
20 protected void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.main);
23
24 final ImageView image = (ImageView)findViewById(R.id.image);
25 SeekBar seekBar = (SeekBar)findViewById(R.id.seekbar);
26
27 seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
28
29 @Override
30 public void onStopTrackingTouch(SeekBar seekBar) {
31 }
32
33 @Override
34 public void onStartTrackingTouch(SeekBar seekBar) {
35 }
36
37 //当拖动条的滑块位置发生改变时触发该方法
38 @Override
39 public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
40 image.setAlpha(arg1);
41 }
42 });
43 }
44 }

运行后的效果图:

拉动后滑动块后的效果:

Android 自学之拖动条SeekBar,布布扣,bubuko.com

时间: 2024-08-05 15:21:01

Android 自学之拖动条SeekBar的相关文章

管窥Android中的滑动条SeekBar的父类AbsSeekBar的源码

Android中的控件中有一类是ProgressBar,其子类中有一个是AbsSeekBar.相信有不少童鞋对这个拖动条的父类比较感兴趣吧!尤其是看到网易云音乐的进度条上面是可以处理播放与暂停事件,是不是很羡慕的哈~  俺在这里告诉大家,不用羡慕,看了我下面的代码分析,你也是可以做出那样的效果的哦.Let's go. 下面先给大家列表一下AbsSeekBar的成员变量有哪些. //当前的矩形 private final Rect mTempRect = new Rect(); //可以拖动的滑块

Android——拖动条SeekBar

1.activity_seekbar.xml <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fil

拖动条SeekBar

1.  SeekBarDemo public class SeekBarDemo extends AppCompatActivity {     private SeekBar seekBar = null;     private TextView textView = null;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstance

Android基础入门教程——2.3.8 SeekBar(拖动条)

Android基础入门教程--2.3.8 SeekBar(拖动条) 标签(空格分隔): Android基础入门教程 本节引言: 本节我们继续来学习Android的基本UI控件中的拖动条--SeekBar,相信大家对他并不陌生,最常见的 地方就是音乐播放器或者视频播放器了,音量控制或者播放进度控制,都用到了这个SeekBar,我们 先来看看SeekBar的类结构,来到官方文档:SeekBar 嘿嘿,这玩意是ProgressBar的子类耶,也就是ProgressBar的属性都可以用咯! 而且他还有一

步步为营_Android开发课[27]_用户界面之SeekBar(拖动条)

Focus on technology, enjoy life!-- QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305 主题:用户界面之SeekBar(拖动条) - SeekBar拖动条(实例): activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml

SeekBar(拖动条)

本节引言: 本节我们继续来学习Android的基本UI控件中的拖动条--SeekBar,相信大家对他并不陌生,最常见的 地方就是音乐播放器或者视频播放器了,音量控制或者播放进度控制,都用到了这个SeekBar,我们 先来看看SeekBar的类结构,来到官方文档:SeekBar 嘿嘿,这玩意是ProgressBar的子类耶,也就是ProgressBar的属性都可以用咯! 而且他还有一个自己的属性就是:android:thumb,就是允许我们自定义滑块~ 好的,开始本节内容! 1.SeekBar基本

进度条与拖动条的使用学习

(一)进度条 常用属性详解: android:max:进度条的最大值android:progress:进度条已完成进度值android:progressDrawable:设置轨道对应的Drawable对象android:indeterminate:如果设置成true,则进度条不精确显示进度android:indeterminateDrawable:设置不显示进度的进度条的Drawable对象android:indeterminateDuration:设置不精确显示进度的持续时间android:s

Android学习笔记18:自定义Seekbar拖动条式样

Android学习笔记18:自定义Seekbar拖动条式样

Android 拖动条(SeekBar)实例 附完整demo项目代码

1.拖动条的事件 实现SeekBar.OnSeekBarChangeListener接口.需要监听三个事件:数值改变(onProgressChanged)开始拖动(onStartTrackingTouch)停止拖动(onStopTrackingTouch) onStartTrackingTouch开始拖动时触发,与onProgressChanged区别是停止拖动前只触发一次而onProgressChanged只要在拖动,就会重复触发. 2.拖动条的主要属性和方法setMax 设置拖动条的数值se