随笔 - 245  文章 - 0  评论 - 11  阅读 - 50万

安卓ProgressBar水平进度条的颜色设置

安卓系统提供了水平进度条ProgressBar的样式,而我们在实际开发中,差点儿不可能使用默认的样式。原因就是“太丑”^_^

所以我们在很多其它的时候须要对其颜色进行自己定义,主要使用就是自己定义样式文件。

 

再在drawable文件夹下新增progressbar.xml文件,能够设置默认背景色和进度条的颜色

(值得一提的是支持渐变色)

代码:

复制代码
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@android:id/background">
        <!--形状-->
        <shape>
           <!-- 角球-->
            <corners android:radius="5dip" />
            <!--梯度-->
            <gradient
                android:angle="0"
                android:centerColor="#ff5a5d5a"
                android:centerY="0.75"
                android:endColor="#ff747674"
                android:startColor="#ff9d9e9d" />
        </shape>
    </item>

    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:angle="0"
                    android:centerColor="#80ffb600"
                    android:centerY="0.75"
                    android:endColor="#a0ffcb00"
                    android:startColor="#80ffd300" />
            </shape>
        </clip>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient
                    android:angle="0"
                    android:endColor="#8000ff00"
                    android:startColor="#80ff0000" />
            </shape>
        </clip>
    </item>

</layer-list>
复制代码

布局文件定义例如以下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?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:orientation="vertical"
    android:gravity="center"
    tools:context=".ProgressBarActivity">
    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="7.5dp"
        android:max="100"
        android:progress="80"
        android:layout_marginRight="20dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="visible"
        android:layout_marginLeft="20dp" />
 
    <ProgressBar
        android:id="@+id/progressBar2"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="15dp"
        android:max="100"
        android:progress="50"
        android:layout_marginRight="20dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="visible"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"/>
    <ProgressBar
        android:id="@+id/progressBar3"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="15dp"
        android:max="100"
        android:progress="100"
        android:layout_marginRight="20dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="visible"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"/>
 
    <ProgressBar
        android:id="@+id/progressBar4"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="20dp"
        android:max="100"
        android:progress="100"
        android:layout_marginRight="20dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="visible"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"/>
 
 
 
</LinearLayout>

  ------------结束-------------

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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>
            <corners android:radius="5dip" />
            <gradient android:startColor="#fff"
                android:endColor="#fff" />
        </shape>
    </item>
 
    <!--  设置进度条颜色(白色)  -->
    <item  android:id="@android:id/progress" >
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <gradient  android:startColor="#ffca12"
                    android:endColor="#ffca12" />
            </shape>
        </clip>
    </item>
 
</layer-list>

  

 

posted on   巫山老妖  阅读(14351)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示