开发者社区> shy丶gril> 正文

Android 中文 API (26) —— SeekBar

简介:
+关注继续查看

前言

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

 

声明

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

    博客园:http://www.cnblogs.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的辛苦劳动!

 

转载:http://www.cnblogs.com/over140/archive/2010/11/03/1868352.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在Maven Central发布中文API的Java库
开发一个简单的Java库, 通过sonatype发布到Maven主库. Publish Java library with APIs in Chinese on Maven Central, through Sonatype.
940 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20687 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29079 0
+关注
1876
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载