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。意图。类别。启动器'/
/意图-过滤器
/活动
/应用程序
/清单
点击下载:源代码
运行效果:如图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。