您的位置:首页 > 移动开发 > Android开发

#小美化#android 自定义进度条ProgressBar

2014-01-06 16:10 405 查看
由于项目需要,一般都会自定义进度条,说实话android系统默认的进度条确实有点小挫,但是我们可以看android源码再自行进行修改。

android源码progress是一个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:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>

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

<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ffffd300"
android:centerColor="#ffffb600"
android:centerY="0.75"
android:endColor="#ffffcb00"
android:angle="270"
/>
</shape>
</clip>
</item>

</layer-list>
我们可以模仿系统的写一个自己的progressdrawable.xml。(该文件是显示图片的,所以放在res/drawable/文件夹里面)

<?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/search_0" />
<!-- 定义轨道上已完成部分的样式 -->
<item android:id="@android:id/progress">
<clip
android:drawable="@drawable/search_32" >
</clip>
</item>
</layer-list>
然后就是在progress控件中调用这个progressdrawable.xml

<ProgressBar
android:gravity="center"
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:indeterminate="false"
android:progressDrawable="@drawable/progressdrawable"
android:indeterminateOnly="false"
android:max="100"
/>
其实就是一个属性
android:progressDrawable="@drawable/progressdrawable"
这样就可以了。so easy,爸妈再也不用担心我的进度条了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐