Progress 自定义(一)-shape

需求:自定义ProgressBar,使用系统自定义shape;

效果图:

1.默认底色:

2.第一进度颜色:

3.第二进度颜色:

 

实现分析:

1.目录结构:

 

代码实现:

1.progress_style.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>
            <corners android:radius="0dip" />

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

                <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="0dip" />

                <gradient
                    android:angle="0"
                    android:endColor="#ec6810"
                    android:startColor="#ec6810" />
            </shape>
        </clip>
    </item>

</layer-list>
复制代码

2.fragment_main.xml

复制代码
<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"
    android:paddingTop="20dp"
    tools:context="com.jjc.demo.MainActivity$PlaceholderFragment" >

    <ProgressBar
        android:id="@+id/progress"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="30dip"
        android:layout_marginLeft="7dp"
        android:layout_marginRight="7dp"
        android:max="70"
        android:progress="30"
        android:secondaryProgress="50"
        android:progressDrawable="@drawable/progress_style" />

</RelativeLayout>
复制代码

代码:http://pan.baidu.com/s/1dD1oyFv

posted @   似水流云  阅读(455)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示