开发记录博客不是讲解使用博客,更多的是各种功能与点子的记录
基本使用
<Seekbar androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:max="200" androID:maxHeight="3dp" androID:minHeight="3dp" androID:progressDrawable="@drawable/seekbar_bg" androID:thumb="@drawable/seekbar_thumb_bg"/>
androID:max="200" 进度最大值
androID:progressDrawable="@drawable/seekbar_bg" 设置进度条的背景
androID:thumb="@drawable/seekbar_thumb_bg" 设置进度条上圆点的背景
setProgress(int value) 设置滑块的位置setMax(int value) 设置进度条的最大长度setonSeekbarchangelistener(OnSeekbarchangelistener l)这个主要是监听进度改变 里面包含3个回调方法 onProgressChanged进度条变化 onStartTrackingtouch(Seekbar seekbar) 监听开始拖动滚动条时的 *** 作 onStopTrackingtouch(Seekbar seekbar) 监听停止拖动滚动条的 *** 作setSecondaryProgress(int secondaryProgress) 设置缓冲的进度进度条背景xmlseekbar_bg.xml
<?xml version="1.0" enCoding="utf-8"?><@R_923_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:ID="@androID:ID/background"> <shape> <solID androID:color="#ff51495e"/> </shape> </item> <item androID:ID="@androID:ID/secondaryProgress"> <clip> <shape> <solID androID:color="#f9062a"/> </shape> </clip> </item> <item androID:ID="@androID:ID/progress"> <clip> <shape> <solID androID:color="#2db334"/> </shape> </clip> </item></@R_923_3419@>
根据属性解释一下3个背景的对应功能,原则上如果你不需要显示预加载的功能,可以将@androID:ID/secondaryProgress 设置为透明,或者不写
androID:ID="@androID:ID/background" 是没有如何拖动或者设置的背景
androID:ID="@androID:ID/secondaryProgress" 是次级进度背景,类似你在看视频的时候,视频的进度条会有预加载的进度.
androID:ID="@androID:ID/progress" 是主进度背景,就是你看视频的时候当前看到哪里的进度条背景.
进度条的圆点背景seekbar_thumb_bg.xml
<selector xmlns:androID="http://schemas.androID.com/apk/res/androID"> <!--获取焦点和没有按下的时候--> <item androID:drawable="@drawable/seekbar_thumb_normal" androID:state_focused="true" androID:state_pressed="false"/> <!--获取焦点但按下的时候--> <item androID:drawable="@drawable/seekbar_thumb_pressed" androID:state_focused="true" androID:state_pressed="true"/> <!--没有获取焦点按下的时候--> <item androID:drawable="@drawable/seekbar_thumb_pressed" androID:state_focused="false" androID:state_pressed="true"/> <!--默认的时候--> <item androID:drawable="@drawable/seekbar_thumb_normal"/></selector>
点子:将进度条竖立起来实现音量调节控件
效果图:
activity布局
<?xml version="1.0" enCoding="utf-8"?><androIDx.constraintlayout.Widget.ConstraintLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:app="http://schemas.androID.com/apk/res-auto" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:background="@color/color_black_1" tools:context=".function.setting.system.vIEw.SetScreenTimeoutActivity"> <TextVIEw androID:ID="@+ID/Title" androID:layout_wIDth="match_parent" androID:layout_height="76dp" androID:text="@string/off_screen_time" androID:textcolor="@color/colorWhite" androID:textSize="22sp" androID:gravity="center" androID:background="@color/black" app:layout_constrainttop_totopOf="parent" app:layout_constraintleft_toleftOf="parent" app:layout_constraintRight_toRightOf="parent"/> <ImageVIEw androID:ID="@+ID/back" androID:layout_wIDth="wrap_content" androID:layout_height="0dp" androID:src="@mipmap/img_back_arrow" androID:paddingleft="20dp" app:layout_constrainttop_totopOf="@ID/Title" app:layout_constraintBottom_toBottomOf="@ID/Title" app:layout_constraintleft_toleftOf="parent"/> <ImageVIEw androID:ID="@+ID/icon" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_margintop="100dp" androID:src="@drawable/ic_screen_timeout" app:layout_constrainttop_toBottomOf="@ID/Title" app:layout_constraintleft_toleftOf="parent" app:layout_constraintRight_toRightOf="parent"/> <Seekbar androID:ID="@+ID/seek_bar" androID:layout_wIDth="300dp" androID:layout_height="70dp" androID:rotationX="0.5" androID:rotationY="0.5" androID:rotation="270" androID:thumb="@null" androID:layout_margintop="135dp" androID:progressDrawable="@drawable/bg_seekbar" androID:max="6" app:layout_constrainttop_toBottomOf="@ID/icon" app:layout_constraintleft_toleftOf="parent" app:layout_constraintRight_toRightOf="parent"/> <ImageVIEw androID:ID="@+ID/add_icon" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:src="@drawable/ic_add" androID:layout_margintop="55dp" app:layout_constraintleft_toleftOf="@ID/seek_bar" app:layout_constraintRight_toRightOf="@ID/seek_bar" app:layout_constrainttop_toBottomOf="@ID/icon"/> <ImageVIEw androID:ID="@+ID/reduce_icon" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:src="@drawable/ic_reduce" androID:layout_margintop="195dp" app:layout_constrainttop_toBottomOf="@ID/add_icon" app:layout_constraintleft_toleftOf="parent" app:layout_constraintRight_toRightOf="parent"/> <TextVIEw androID:ID="@+ID/current_select_time" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_margintop="340dp" androID:textSize="22sp" androID:textcolor="@color/colorWhite" app:layout_constrainttop_toBottomOf="@ID/icon" app:layout_constraintleft_toleftOf="parent" app:layout_constraintRight_toRightOf="parent"/></androIDx.constraintlayout.Widget.ConstraintLayout>
这样里有一个需要注意的点,就是高度和宽度其实是互换的关系了.
进度背景bg_seekbar.xml
<?xml version="1.0" enCoding="utf-8"?><@R_923_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:ID="@androID:ID/background"> <shape androID:shape="rectangle"> <size androID:wIDth="300dp" androID:height="70dp"/> <solID androID:color="#575757"/> <corners androID:radius="88dp"/> </shape> </item> <item androID:ID="@androID:ID/secondaryProgress"> <clip> <shape> <solID androID:color="#575757"/> </shape> </clip> </item> <item androID:ID="@androID:ID/progress"> <clip> <shape androID:shape="rectangle"> <size androID:wIDth="300dp" androID:height="70dp"/> <solID androID:color="#FFFFFF"/> <corners androID:radius="88dp"/> </shape> </clip> </item></@R_923_3419@>
总结
以上是内存溢出为你收集整理的Android开发 SeekBar开发记录全部内容,希望文章能够帮你解决Android开发 SeekBar开发记录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)