Android 中文 API (26) —— SeekBar

本文详细介绍了Android中SeekBar组件的使用方法及其特点。SeekBar继承自ProgressBar,增加了可拖动的Thumb来调整进度。用户可通过触控或键盘操作进行交互,并可添加监听器以响应进度变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

  本章内容是android.widget.SeekBar,译为滑动条,翻译来自madgoat,欢迎大家访问他的博客:http://madgoat.cn ,再次感谢 madgoat !期待你一起参与Android API 的中文翻译,联系我over140@gmail.com。
 

 

声明

  欢迎转载,但请保留文章原始出处:)
 

    农民伯伯:http://over140.blog.51cto.com/

    Android中文翻译组:http://www.cnblogs.com/over140/  

 

正文

  一、结构

    public class SeekBar extends AbsSeekBar

 

    java.lang.Object

      android.view.View

        android.widget.ProgressBar

                            android.widget.AbsSeekBar

                                     android.widget.SeekBar

 

 

 

  二、概述

    

    SeekBarProgressBar的扩展,在其基础上增加了一个可拖动的thumb(注:就是那个可拖动的图标)。用户可以触摸thumb并向左或向右拖动,再或者可以使用方向键都可以设置当前的进度等级。不建议把可以获取焦点的widget放在SeekBar的左边或右边。

    SeekBar可以附加一个SeekBar.OnSeekBarChangeListener以获得用户操作的通知。

    

  三、内部类

 

         接口        SeekBar.OnSeekBarChangeListener      

         一个回调函数用来当进度等级发生改变时通知客户端

 

 

  四、XML属性

属性名称

描述

android:thumb

Seekbar上绘制的thumb(可拖动的那个图标)

 

  五、公共方法
 

 

         public void setOnSeekBarChangeListener (SeekBar.OnSeekBarChangeListener l)

 设置一个监听器以接受seekbar进度改变时的通知。同时提供用户在SeekBar上开始和停止触摸手势时的通知。

  参数

  l        SeekBar的通知监听对象

  参见

  SeekBar.OnSeekBarChangeListener

 

 

  六、补充
 

    6.1  文章链接

      在android里做一个竖着的seekbar

      Android UI设计 SeekBar拖动条用法

 

    6.2  示例代码

      6.2.1  java文件

public   class  SeekBarDemo  extends  Activity {
    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
super .onCreate(savedInstanceState);
        setContentView(R.layout.seekbardemo);

        
final  SeekBar seekBar1  =  (SeekBar)  this .findViewById(R.id.seekBar1);
        seekBar1.setOnSeekBarChangeListener(
new  OnSeekBarChangeListener() {
            @Override
            
public   void  onStopTrackingTouch(SeekBar seekBar) {

            }

            @Override
            
public   void  onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            
public   void  onProgressChanged(SeekBar seekBar,  int  progress,
                    
boolean  fromUser) {
                Toast.makeText(SeekBarDemo.
this ,
                        String.valueOf(seekBar1.getProgress()),
                        Toast.LENGTH_SHORT).show();
            }
        });
    }
}

      6.2.1  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 ="fill_parent"
>
    
< SeekBar  android:id ="@+id/seekBar1"  android:layout_width ="fill_parent"
        android:layout_height
="wrap_content"  android:max ="100"
    
></ SeekBar >
</ LinearLayout >

 

结束
 

  再次感谢madgoat的辛苦劳动!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值