Android开发 SeekBar开发记录

Android开发 SeekBar开发记录,第1张

概述前言开发记录博客不是讲解使用博客,更多的是各种功能与点子的记录 基本使用<SeekBarandroid:layout_width="match_parent"android:layout_height="wrap_content"android:max="200"android:maxHeight="3dp"and 前言

  开发记录博客不是讲解使用博客,更多的是各种功能与点子的记录

 

基本使用

  

 <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) 设置缓冲的进度进度条背景xml

seekbar_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开发记录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1075456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存