Seekbar和ProgressBar进度条样式

news2024/11/28 19:05:37

有时项目中需要实现水平圆角进度,如下两种,其实很简单

下面开始看代码,先从主界面布局开始看起:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:gravity="center"
    android:orientation="vertical">
 
    <ProgressBar
        android:id="@+id/progressbar1"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:layout_margin="10dp"
        android:max="100"
        android:progress="50"
        android:progressDrawable="@drawable/layer_list_progress_drawable_1" />
 
    <ProgressBar
        android:id="@+id/progressbar2"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:layout_margin="10dp"
        android:max="100"
        android:progress="20"
        android:progressDrawable="@drawable/layer_list_progress_drawable" />
 
</LinearLayout>

 注:ProgressBar换成seekbar也是一样的

两个进度条布局,然后是使用的progressDrawable资源:
layer_list_progress_drawable_1.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/shape_progressbar_bg" />
 
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/shape_progressbar_progress" />
    </item>
</layer-list>

  

layer_list_progress_drawable.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/shape_progressbar_bg" />
 
    <item android:id="@android:id/progress">
        <scale
            android:drawable="@drawable/shape_progressbar_progress"
            android:scaleWidth="100%" />
    </item>
</layer-list>

  从上面两布局文件可以看出,布局文件基本也是相同的,唯一的区别就是一个用的是clip另一个用的是scale
如果在layer-list里面进行设置的话,也是要注意item的添加顺序。

下面是背景,和进度文件:
shape_progressbar_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 
    <corners android:radius="10dp" />
    <solid android:color="#dadada" />
 
</shape>

  

shape_progressbar_progress.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
 
    <corners android:radius="10dp" />
    <solid android:color="#0484fa" />
 
</shape>

  

自定义Android进度条ProgressBar颜色的渐变

自定义Android进度条ProgressBar颜色的渐变其实也很简单,就拿第一个水平进度来说,只需要修改一个layer_list_progress_drawable_1.xmllayer_list_progress_drawable.xml就可以了


layer_list_progress_drawable_1.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/shape_progressbar_bg" />
 
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/shape_progressbar_progress" >
            <shape>
                <corners android:radius="10dp" />
                <!--<gradient-->
                <!--android:startColor="#00FF00"-->
                <!--android:centerColor="#FFFF00"-->
                <!--android:endColor="#FF0000"/>-->
                <!--在gradient这里设置不同的颜色就会产生渐变的效果-->
                <gradient
                    android: startColor ="#0484fa"
                    android: endColor ="#ff00ff" />
 
            </shape>
        </clip>
    </item>
</layer-list>

  

layer_list_progress_drawable.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/shape_progressbar_bg" />
 
    <item android:id="@android:id/progress">
 
        <scale
            android:drawable="@drawable/shape_progressbar_progress"
            android:scaleWidth="100%">
            <shape>
                <corners android:radius="10dp" />
                <!--<gradient-->
                <!--android:startColor="#00FF00"-->
                <!--android:centerColor="#FFFF00"-->
                <!--android:endColor="#FF0000"/>-->
                <!--在gradient这里设置不同的颜色就会产生渐变的效果-->
 
                <gradient
                    android: startColor ="#0484fa"
                    android: endColor ="#ff00ff" />
 
            </shape>
        </scale>
    </item>
</layer-list>

  

效果如下图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络:应用层

应用层 应用层是计算机体系结构中的最顶层&#xff0c;是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务. 1. C&#xff08;客户端&#xff09;/S&#xff08;服务器&#xff09;和P&#xff08;Peer&#xff09;2P&a…

Java编码实现Activemq通讯

目录 一、IDEA建Maven工程 二、pom.xml 三、JMS编码总体架构 四、粗说目的地Destination——队列和主题 五、点对点消息传递域中&#xff0c;目的地被称为队列&#xff08;queue&#xff09; 六、在发布订阅消息传递域中&#xff0c;目的地被称为主题&#xff08;topic&a…

vue axios实战,请求天气预报接口

效果预览 创建流程 1. 创建项目目录 mkdir test22. 进入目录 cd test23. 引入vue 引入vue&#xff0c; 一路敲回车就行了 npm init vuelatest4. 启动项目 创建成功&#xff0c;启动项目 cd vue-project npm install npm run dev执行run 后的访问结果 > vue-project…

简单得令人发指,说不会一定是在骗领导:配准法在地图上叠加边缘透明旅游图演示

目录 1 前言 2 基本设置 3 配准设置 4 切图 5 更简单的切图方法 1 前言 居然还有人在抱怨&#xff0c;说在地图上叠加手绘图好麻烦啊好复杂&#xff0c;都干了一星期了又要推倒重来简直不想活了&#xff0c;眼睛都累哗啦了。。。嗯&#xff0c;我相信同学你没说假话&#…

网络工程师备考5章

5.1 考点分析 5.2 WLAN基础 注&#xff1a;例如上面图中蜂窝的A&#xff0c;周围全是其他的蜂窝&#xff0c;实现了相同频率的区域隔离&#xff0c;简单了解一下它发展的几个阶段。 注&#xff1a;简单了解即可。 WLAN、802.11Wifi 这三个有什么区别&#xff1f; WLAN是无线局…

链式二叉树(C语言实现)

文章目录&#xff1a;二叉树链式结构实现1.链式二叉树的结构2.遍历二叉树2.1前序遍历2.2中序遍历2.3后序遍历2.4层序遍历3.功能接口3.1二叉树节点个数3.2叶子节点个数3.3树的深度3.4第k层节点个数&#xff08;k>1&#xff09;3.5查找目标节点3.6判断是否为完全二叉树3.7构建…

AI-多模态-2022:TCL【triple contrastive learning】【三重对比学习的视觉-语言预训练模型】

论文&#xff1a;https://arxiv.org/pdf/2202.10401.pdf 代码&#xff1a;https://github.com/uta-smile/TCL 写在前面&#xff1a; CPC[1]这篇论文中&#xff0c;作者对互信息的公式进行了分析&#xff0c;得到互信息下界的相反数为InfoNCE loss&#xff0c;即最小化InfoNC…

IPv4地址和子网掩码

目录 1.ip的定义 A.官方定义 B.IP的表现形式 C.IP地址分类 2.网络地址和主机地址 3.子网掩码 4.应用场景 1.ip的定义 A.官方定义 IP地址是一种在Internet上的给主机编址的方式&#xff0c;也称为网际协议地址。IP地址是IP协议提供的一种统一的地址格式&#xff0c;它为…

three.js之组对象

文章目录简介例子查看组对象组对象相关方法addremove层级模型节点命名、查找、遍历模型命名例子遍历查找本地坐标与世界坐标例子本地坐标世界坐标缩放系数专栏目录请点击 简介 层级模型就是一个树的结构&#xff0c;他有一个组的概念&#xff0c;对于组我们可以进行旋转、平移…

操作系统中的进程

目录 什么是进程/任务&#xff08;Process/Task&#xff09; PCB的具体信息 1.pid 进程的身份标识 2.内存指针 3.文件描述符表 4.进程状态 5.进程优先级 6.进程上下文 7.进程 记账信息 虚拟地址空间 我的GitHub&#xff1a;Powerveil GitHub 我的Gitee&#xff1a;P…

28年蛰伏,易特驰打响「软件定义汽车」硬战

今年3月&#xff0c;特斯拉给车主推送了新的软件更新版本2022.8.2&#xff0c;更新内容包括&#xff1a;车辆温度预设改进、空调页面显示除雾/除霜提醒、预计充电时间更精准估算、正在进行的通话更新等。 这并不是特斯拉第一次通过升级OTA&#xff0c;增加新功能、完善现有功能…

防火墙的前世今生

防火墙的前世今生 1、第一代防火墙&#xff1a;包过滤防火墙&#xff0c;实现简单的访问控制&#xff0c;也就是我们经常在交换机路由器用到ACL技术 当我们192.168.1.1需要访问192.168.2.1的WEB服务的时候&#xff0c;先要去精确控制能匹配源目地址&#xff0c;端口号&#xf…

限制 SLS告警通知时段的几种常见方法

前言 在对系统进行监控告警的过程中&#xff0c;有时候并非在任何时候都要接收告警通知&#xff0c;例如以下场景&#xff1a; 计划内变更触发的已知告警可以无需通知非工作时间不接收不严重的告警夜里不接收电话告警等等 本文会介绍几种常见的限制告警通知时段的方法&#x…

IDEA技巧汇总:这30个强大的功能,总有一个你能用上!

目录查看代码历史版本调整idea的虚拟内存&#xff1a;idea设置成eclipse的快捷键设置提示词忽略大小写关闭代码检查设置文档注释模板显示方法分隔符设置多行tabtab过多会自动关闭快速匹配方法的大括号位置代码结尾补全模糊搜索方法预览某个类的代码查看方法在哪里被调用代码模板…

一个简单的网页制作期末作业,学生个人html静态网页制作成品代码

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

12月13日:跟着猫叔写代码,fastadmin中Api相关只是

Api权限管理 api常用返回信息实例 api获取所有方法&#xff0c;都在common目录下cotroller文件夹中Api.php中 /*** 需要登录的接口**/public function test2(){//$this->success(返回成功, [action > test2]);//判断当前用户是否登录//$this->success(返回成功, $t…

1. Python_Django项目之大型电商项目介绍

1.开发项目目的 联系已掌握的知识点发现新的知识点掌握开发技巧掌握项目结构增加项目经验 2.所用技术 语言&#xff1a;Python3&#xff08;Django4&#xff09;数据库&#xff1a;MySQLweb服务器&#xff1a;Nginxuwsgi开发环境&#xff1a;VScode、linux 3.功能介绍 商品…

动态规划——背包问题(3)

文章目录求解最佳方案数例题思路代码混合背包问题例题思路代码有依赖的背包问题例题思路代码考察思维的一些背包题目机器分配金明的预算方案货币系统能量石总结求解最佳方案数 例题 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi&#…

springboot前后端交互(小白教学)

在上次前后端交互&#xff0c;我们使用的是最基本的HTMLServlet的组合&#xff0c;比较基础&#xff0c;今天我们来讲一讲HtmlSpringboot框架&#xff0c;前后端交互实现更为简便&#xff0c;大大降低了我们开发人员在代码上面所花费的时间&#xff0c;那今天让我们一探究竟吧。…

1998-2014年工企污染数据库

1998-2014年工企污染匹配数据库 1、时间区间为&#xff1a;1998-2014年 2、部分指标&#xff1a; 工业总产值(现价)&#xff08;万元&#xff09;、工业用水总量&#xff08;吨&#xff09;、煤炭消费总量&#xff08;吨&#xff09;、其中:新鲜水量&#xff08;吨&#xff…