Android竖向进度条

2017-08-19  本文已影响344人  坐在坟头数星星

不需要自定义view实现竖向进度条

用到drawable 定义两个xml文件   一个进度框  一个进度条

先上个效果图

竖状渐变进度条

用到的控件ProgressBar

在drawable目录下新建progress_bar_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">

        <shape>

            <corners 

             android:topLeftRadius="20dp"

             android:topRightRadius="20dp"/>

            <solid android:color="#000000"/>         

        </shape>

    </item>

    <item android:id="@android:id/progress">

         <scale

          android:drawable="@drawable/progress_bar_ct"

          android:scaleHeight="90%"

          android:scaleGravity="bottom"/>

    </item>

</layer-list>

这里第一个item标签是设置进度框

solid 标签设置颜色 或者也可以用 gradient 设置渐变色

corners 标签是设置四个点的弧度 radius 是设置全部

第二个item是重点  这里是设置进度条的样式以及增长方向

这里用的是scale 标签

android:scaleHeight="90%" 这个的作用我个人认为是给进度条设置一个初始比例(自己测试下就能感觉出来)

android:scaleGravity="bottom"是指从什么位置增长

android:drawable="@drawable/progress_bar_ct"这个是给进度条设置了一个样式

附上progress_bar_ct.xml代码:

<?xml version="1.0"encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android">

       <gradient

                android:angle="45"

                android:endColor="#FFA353"

               android:startColor="#FF607C"/>

       <corners

                android:topLeftRadius="50dp"

                android:topRightRadius="50dp"/>

</shape>

layout.xml如下图:


layout调用代码
上一篇下一篇

猜你喜欢

热点阅读