lovejobs

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  138 随笔 :: 3 文章 :: 46 评论 :: 28万 阅读

一、seekbar是进度条,可以使用系统的,也可以自己定义,下面我们将自己定义一个seekbar。

1.自定义滑条,包括对背景,第一进度,第二进度的设置,通过一个xml来实现,在drawable下创建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:drawable="@drawable/seek_bg">
    </item>
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/progress">
    </item>

    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/secprogress">
    </item>


</layer-list>
复制代码

 

2.自定义滑块,包括按压和未按压的样式设置,也通过xml来实现,在drawable下创建selector_thumb.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/thumb_press"></item>
    <item  android:drawable="@drawable/thumb"></item>

</selector>
                 

 

3.样式展示,通过seekbar两个属性android:thumb="@drawable/thumb",android:progressDrawable="@drawable/seekbarbackground"来设置

复制代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="自定义seekbar"
        android:textColor="@android:color/holo_purple"
        android:textSize="20sp" />

    <SeekBar
        android:id="@+id/sb"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tv"
        android:layout_marginTop="62dp"
        android:progressDrawable="@drawable/seekbar"
        android:thumb="@drawable/selector_thumb" />

</RelativeLayout>
复制代码

 

4.效果图

 

posted on   lovejobs  阅读(2894)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示