Android控件之SeekBar的用法总结

本文介绍了如何在Android中使用SeekBar作为进度条,并展示了如何创建系统默认和自定义的SeekBar,包括设置背景图和滑块图片。同时,解释了如何监听SeekBar的滑动事件,通过实现OnSeekBarChangeListener接口来处理滚动开始、结束和进度改变的回调函数。

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

SeekBar是进度条。本篇文章介绍了机器人控件之SeekBar的使用,搜索栏的应用非常广,比如用来显示音量条、播放进度条,有水平显示也有垂直显示,有兴趣的可以了解一下。

1 SeekBar简介

SeekBar是进度条。我们使用进度条时,可以使用系统默认的进度条;也可以自定义进度条的图片和滑块图片等。

2 SeekBar示例

创建一个活动,包含2个搜索栏。

第一个SeekBar是系统默认的搜索栏。

第2个SeekBar是自定义SeekBar,使用自定义的背景图和滑块图片。

应用层代码

包com。天行。控制;

导入安卓。OS。捆绑;

导入安卓。app。活动;

导入安卓。util。日志;

导入安卓。小部件。textview

导入安卓。小部件。seekbar

导入安卓。小部件。seekbar。onseekbarchangelistener

公共类SeekBarTest扩展活动实现搜索栏.OnSeekBarChangeListener{

私有静态最终字符串标记=' SKYWANG

//与"系统默认搜索栏"对应的文本视图

私有TextView mTvDef

//与"自定义搜索栏"对应的文本视图

私有TextView mTvSelf

//"系统默认搜索栏"

私人SeekBar mSeekBarDef

//"自定义搜索栏"

私人搜索栏

@覆盖

受保护的void onCreate(Bundle saved instancestate){

超级棒。oncreate(savedInstanceState);

setContentView(r . layout。seek _ bar _ test);

//与"系统默认搜索栏"对应的文本视图

MTV def=(TextView)findViewById(r . id。TV _ def);

//"系统默认搜索栏"

mSeekBarDef=(SeekBar)findViewById(r . id。SeekBar _ def);

姆西克巴德夫。setonseekbarchangelistener(this);

//与"自定义搜索栏"对应的文本视图

MTV self=(TextView)findViewById(r . id。TV _ self);

//"自定义搜索栏"

mseekbar self=(SeekBar)findViewById(r . id。SeekBar _ self);

mseekbarself。setonseekbarchangelistener(this);

}

/*

*搜索栏停止滚动的回调函数

*/

@覆盖

public void onStopTrackingTouch(SeekBar SeekBar){

}

/*

*搜索栏开始滚动的回调函数

*/

@覆盖

public void onStartTrackingTouch(SeekBar SeekBar){

}

/*

*搜索栏滚动时的回调函数

*/

@覆盖

public void onProgressChanged(SeekBar SeekBar,int progress,

boolean fromUser) {

Log.d(TAG,' seekid:' seekBar.getId()',progress ' progress);

switch(seekBar.getId()) {

case R.id.seekbar_def:{

//设置"与系统默认SeekBar对应的文本视图"的值

mTvDef.setText(getResources().getString(r . string。text _ def)“:”字符串。(搜索栏的值。get progress());

打破;

}

case R.id.seekbar_self: {

//设置"与自定义SeekBar对应的文本视图"的值

mTvSelf.setText(getResources().getString(r . string。text _ self)“:”字符串。(seekbar的值。get progress());

打破;

}

默认值:

打破;

}

}

}

代码说明:

要监听SeekBar的滑动消息,通过实现SeekBar .OnSeekBarChangeListener "接口。这个接口中包含3个方法onStartTrackingTouch()、onStopTrackingTouch()和onProgressChanged()。

布局文件

线性布局xmlns:Android=' http://模式。安卓。' com/apk/RES/Android '

xmlns:tools=' http://模式。安卓。' com/tools '

Android:layout _ width=' match _ parent '

Android:layout _ height=' match _ parent '

安卓:方向='垂直'

文本视图

android:id='@ id/tv_def '

Android:layout _ width=' wrap _ content '

Android:layout _ height=' wrap _ content '

Android:text=' @ string/text _ def '/

!-

最大值=100,代表它的取值范围是0-100,共101个值;

进度=10,代表默认值是10

-

SeekBar

android:id='@ id/seekbar_def '

android:layout_width='620px '

Android:layout _ height=' wrap _ content '

android:max='100 '

安卓:进度='10 '

/

文本视图

android:id='@ id/tv_self '

Android:layout _ width=' wrap _ content '

Android:layout _ height=' wrap _ content '

Android:text=' @ string/text _ self '/

!-

最大值=100,代表它的取值范围是0-100,共101个值;

进步=20,代表默认值是20

progressDrawable,表示SeekBar的背景图片

拇指,表示SeekBar的滑块图片

-

SeekBar

android:id='@ id/seekbar_self '

android:layout_width='620px '

Android:layout _ height=' wrap _ content '

android:max='100 '

安卓:进度='20 '

Android:progress drawable=' @ drawable/BG _ bar '

Android:thumb=' @ drawable/thumb _ bar '/

/线性布局

自定义SeekBar的背景定义为:Android:progress drawable=' @ drawable/BG _ bar '。

它调用的bg_bar.xml的内容如下:

?可扩展标记语言版本='1.0 '编码='utf-8 '?

层列表xmlns:Android=' http://模式。安卓。' com/apk/RES/Android '

!-背景图-

item Android:id=' @ Android:id/background ' Android:drawable=' @ drawable/bar _ dn '/

!-第二进度图-

item Android:id=' @ Android:id/二次进度' Android:drawable=' @ drawable/bar _ dn '/

!-进度度-

item Android:id=' @ Android:id/progress ' Android:drawable=' @ drawable/bar _ up '/

/层列表

bar_dn.png如下图:

bar_up.png如下图:

自定义SeekBar的滑块定义为:Android:thumb=' @ drawable/thumb _ bar '。

它调用的thumb_bar.xml的内容如下:

?可扩展标记语言版本='1.0 '编码='UTF八号'?

选择器xmlns:Android=' http://模式。安卓。' com/apk/RES/Android '

!-按下状态-

item Android:state _ pressed=' true '

Android:drawable=' @ drawable/thumb _ dn '/

!-焦点状态-

item Android:state _ focused=' true '

Android:drawable=' @ drawable/thumb _ up '/

!-默认状态-

item Android:drawable=' @ drawable/thumb _ up '/

/选择器

thumb_up.png如下图:

thumb_dn.png如下图:

显示文件

?可扩展标记语言版本='1.0 '编码='utf-8 '?

清单xmlns:Android=' http://模式。安卓。' com/apk/RES/Android '

package='com.skywang.control '

安卓系统:版本代码='1 '

android:versionName='1.0 '

用途-sdk

android:minSdkVersion='8 '

android:targetSdkVersion='17' /

应用

android:allowBackup='true '

Android:icon=' @ drawable/IC _ launcher '

Android:label=' @ string/app _ name '

android:theme='@style/AppTheme '

活动

Android:name=' com。天行。控制。寻找barstet

Android:label=' @ string/app _ name '

意图过滤器

action Android:name=' Android。意图。行动。主'/

类别Android:name=' Android。意图。类别。启动器'/

/意图-过滤器

/活动

/应用程序

/清单

点击下载:源代码

运行效果:如图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

原文地址:http://www.ccttoo.com/html/2112.html

本文来自网络,不代表菜鸟教程之家立场,转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值