不需要自定义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如下图:
网友评论