seekbar的使用

gali gali     2022-09-05     470

关键词:

方法一

1. 需求:需要改变其默认颜色,样式

2.滑竿样式

seekbar.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background" android:height="5dp">
        <shape>
            <corners android:radius="5dp"/>
            <solid android:color="#C9C7C7"/>           <!--  颜色-->
        </shape>
    </item>

    <item android:id="@android:id/secondaryProgress" android:height="5dp">
        <clip>
            <shape>
                <corners android:radius="5dp"/>
                <solid android:color="#C9C7C7"/>            <!-- 颜色-->
            </shape>
        </clip>
    </item>

    <item android:id="@android:id/progress" android:height="5dp">
        <clip>
            <shape>
                <corners android:radius="5dp"/>
                <solid android:color="@color/colorPrimary"/>   <!--  颜色-->
            </shape>
        </clip>
    </item>
</layer-list>

3. 滑块样式

select_seekbar.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 按下状态-->
    <item  android:state_pressed="true"  android:drawable="@drawable/shape1"/>

    <!-- 有焦点状态 -->
    <item  android:state_focused="true"  android:drawable="@drawable/shape"/>

    <!-- 普通状态 -->
    <item android:drawable="@drawable/shape" />
</selector>

 

shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:useLevel="false">
    <solid android:color="@color/colorPrimary"></solid>  <!-- 颜色-->
    <size
        android:width="12dp"
        android:height="12dp"></size>
</shape>

shap1.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:useLevel="false">
    <solid android:color="@color/colorAccent"></solid> <!-- 颜色-->
    <size
        android:width="14dp"
        android:height="14dp"></size>
</shape>

4.布局引用

<SeekBar
android:id="@+id/seekbar"
android:layout_width="368dp"
android:maxHeight="6dip"
android:minHeight="6dip"
android:layout_height="40dp"
android:max="100"
android:progressDrawable="@drawable/seekbar"
android:thumb="@drawable/select_seekbar"
android:progress="30" />

<!--maxHeight
minHeight可以控制滑竿粗线-- >

方法二

5.不利用xml,直接修改

 public void setSeekBarColor(SeekBar seekBar, int color){
        LayerDrawable layerDrawable = (LayerDrawable)        
seekBar.getProgressDrawable(); Drawable dra
=layerDrawable.getDrawable(2); dra.setColorFilter(color, PorterDuff.Mode.SRC); Drawable dra2=seekBar.getThumb(); seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_ATOP); seekBar.invalidate(); }

 

6.效果图

 

 

 

 

二 实现seekbar颜色渐变

1. 效果

 

 

    <SeekBar
                android:id="@+id/vSeekBarECHO"
                android:layout_width="@dimen/dp_160"
                android:layout_height="wrap_content"
                android:maxHeight="@dimen/dp_13"
                android:minHeight="@dimen/dp_13"
                android:translationX="@dimen/dp_m_51"
                android:rotation="270"
                android:translationY="@dimen/dp_70"
                android:paddingStart="0dp"
                android:saveEnabled="false"
                android:progressDrawable="@drawable/seekbar_progress_color"
                android:splitTrack="false"
                android:thumb="@drawable/icon_seek_block_25"
                android:thumbOffset="0dp" />

seekbar_progress_color.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
    
    <!-- 背景图 -->
    <item android:id="@android:id/background">
        <shape>
            <stroke  android:width="@dimen/dp_1" android:color="#E5E5E5"/>
            <corners android:radius="@dimen/dp_5" />
            <!--
            
                android:endColor="#FBFBFB"
                android:centerColor="#9E9D9D"
                android:startColor="#626060"-->
            <solid android:color="#FAFAFA"/>
            
            <gradient
                android:angle="0"
                android:endColor="#FBFBFB"
                android:centerColor="#FBFBFB"
                android:startColor="#FBFBFB" />
        
        
        </shape>
    </item>
    
    
    <!-- 第二进度条的背景色 -->
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape android:shape="rectangle">
                <solid android:color="@color/colorSingerName" />
            </shape>
        </clip>
    </item>
    
    
    <!-- <item android:id="@+android:id/background" android:drawable="@drawable/bar_dn" /> -->
    <!-- 可拖动的进度条颜色 -->
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <stroke  android:width="@dimen/dp_1" android:color="#E5E5E5"/>
                <corners android:radius="@dimen/dp_5" />
                <gradient
                    android:angle="0"
                    android:centerColor="@color/colorSeekBarPro50"
                    android:endColor="@color/colorSeekBarPro100"
                    android:startColor="@color/colorSeekBarPro0" />
            </shape>
        </clip>
    </item>
    
</layer-list>

icon_seek_block_25

 

在 android 中使用 SeekBar 控制音量?

】在android中使用SeekBar控制音量?【英文标题】:UsingSeekBartoControlVolumeinandroid?【发布时间】:2012-04-2510:25:32【问题描述】:如何在不通过Android设备上的音量按钮控制音量的情况下使用搜索栏准确更改应用的音量?我在我的android... 查看详情

android入门第18天-android里的seekbar的使用(代码片段)

SeekBar的介绍SeekingBar是这么样的一个东西,它常常用在播放视频、音步时用来调节音量、模糊阀值等场景。SeekBar里怎么是通过:android:layout_weight="1"这个值设置大小的。其它我们都使用默认的就行。我们先来看UI... 查看详情

android开发中如何设置seekbar的最小值?

设置拖动条SeekBar的拖动范围,如70-100之间。SeekBar是ProgressBar的扩展,在其基础上增加了一个可拖动的thumb(注:就是那个可拖动的图标)。用户可以触摸thumb并向左或向右拖动,再或者可以使用方向键都可以设置当前的进度等级。... 查看详情

android使用滑动条seekbar(代码片段)

layout布局文件(clear_activity.xml):SeekBar的属性值介绍:android:max=“255”(最大的滑动值,从0开始)android:progress=“255”(初始时滑动条的位置)<?xmlversion=& 查看详情

无法使用 Appium 移动 Android SeekBar

】无法使用Appium移动AndroidSeekBar【英文标题】:Can\'tmoveAndroidSeekBarwithAppium【发布时间】:2016-06-1809:48:47【问题描述】:我有一个像这样定制的Android搜索栏,以及它可以移动到的位置。并且从中间开始:我想先移动滑块,然后检... 查看详情

如何使用 android seekbar 更改 chrome cast 设备音量

】如何使用androidseekbar更改chromecast设备音量【英文标题】:Howtochangechromecastdevicevolumeusingandroidseekbar【发布时间】:2017-03-0711:27:43【问题描述】:我想使用我的应用程序搜索栏更改chromecast设备音量。这是我的seekbar的onProgressChanged... 查看详情

使用 SeekBar 中的值更新列表视图中的 EditText

】使用SeekBar中的值更新列表视图中的EditText【英文标题】:UpdateEditTextinalistviewwithvaluefromaSeekBar【发布时间】:2014-07-1105:11:30【问题描述】:我有一个ListView,每个行项都包含一个SeekBar和一个EditText(如下图所示)。我需要根据搜... 查看详情

java示例代码_使用edittext更新seekbar

java示例代码_使用edittext更新seekbar 查看详情

自定义垂直拖动的seekbar进度条

系统自定义的seekbar为横向拖动的样式,需要纵向的时则需要自己定义,网上很多说了重写系统SeekBar中onDraw()的方法,但是我使用的时候不知道为什么拖动条和点偏离了,不在一条直线上,好气。。。然后用了另一篇中改进之后... 查看详情

Seekbar想要保存进度[重复]

】Seekbar想要保存进度[重复]【英文标题】:Seekbarwanttosaveprogress[duplicate]【发布时间】:2013-03-3121:05:50【问题描述】:我正在使用搜索栏,我想保存用户在搜索栏中所做的更改,并且应该在下次他打开应用程序时显示。我的代码是... 查看详情

Android SeekBars 在旋转前被裁剪

】AndroidSeekBars在旋转前被裁剪【英文标题】:AndroidSeekBarscroppedbeforerotating【发布时间】:2018-10-2206:04:58【问题描述】:我正在尝试使用AndroidSeekBars制作一个垂直混音器样式的界面来控制不同的音频源。我可以像许多帖子描述的那... 查看详情

一个简单seekbar样式的例子(代码片段)

SeekBar在布局中的使用: <SeekBarandroid:layout_width="300px"android:layout_height="wrap_content"android:minHeight="10px"<!--定义进度条的高,不包括thumb的高-->android:maxHeight="10px"<!--定义进度条的高,不包括thumb的高 查看详情

一起talkandroid吧(第四百六十回:seekbar源代码分析)(代码片段)

文章目录使用背景分析结论SeekBar本质上是进度条不推荐修改SeekBar的步进值修改步进值的方法在父类中各位看官们大家好,上一回中咱们说的例子是"SeekBar补充用法",这一回中咱们说的例子是"SeekBar源代码分析"。闲... 查看详情

一个 seekBar 的移动会影响另一个 seekBar

】一个seekBar的移动会影响另一个seekBar【英文标题】:movementofoneseekBarwillaffectotherseekBar【发布时间】:2016-11-1111:29:31【问题描述】:我的应用屏幕中有5个seekBar小部件和一个用户可以初始化的“总预算”editText小部件。我想实现移... 查看详情

android关于自定义seekbar控件的问题(将横向seekbar改成竖向seekbar)

自定义了个seekbar,将横向的seekbar改为了竖向的seekbar,目前只支持触摸,但是用遥控器控制时候按上下按钮没响应,按下左右按钮seekbar才会被拖动追了下代码seekbar继承自AbsSeekbar,AbsSeekBar继承自progressBar,ProgressBar继承自View,我该... 查看详情

android仿vivo的seekbar样式

参考技术A本篇其实是有点水的,目的是为了记录一下SeekBar的样式自定义步骤,SeekBar使用并不是特别多,但一需要用的时候就东找西找,实在不好,也耗时间,刚好看到vivo系统设备里面的SeekBar样式,就想借此做一下,再做一下... 查看详情

seekbar(代码片段)

进度,音量等的拖动条。方法setMax设置SeekBar的最大数值setProgress设置SeekBar当前的数值setSecondaryProgress设置SeekBar的第二数值,即当前拖动条推荐的数值事件实现SeekBar的SeekBar.OnSeekBarChangeListener接口。监听三个事件数值改变&#... 查看详情

seekbar拖动条控件

SeekBar拖动条控件一、简介1、  二、SeekBar拖动条控件使用方法1、创建SeekBar控件<SeekBarandroid:id="@+id/SeekBar1"android:layout_width="match_parent"android:layout_height="wrap_content"android:progress="30"/>  查看详情