最近在做一个widget,上面需要一个progressbar,产品经理和设计师给出来的东西是要实现一个圆角的progress和自定义的颜色,研究一小下,分享出来给大家哦。
测试于:Android4.0+
操作步骤:
1.创建你的layout文件引用progressbar如下,标红处引用你自定的样式;
<ProgressBar
android:id="@+id/progressDownload"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="22dp"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/progress_horizontal_widgt" />
2.在你的res下的drawable中创建progress_horizontal_widgt.xml 名字你自己可以随便起
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project Licensed under the
Apache License, Version 2.0 (the "License"); you may not use this file except
in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. See the License for
the specific language governing permissions and limitations under the License. -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="11dp" />
<solid android:color="#8842323f" />
<stroke android:width="1px" android:color="#884d363a" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="11dp" />
<solid android:color="#5aade3" />
<stroke android:width="1px" android:color="#884d363a" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="11dp" />
<solid android:color="#5aade3" />
<stroke android:width="1px" android:color="#884d363a" />
</shape>
</clip>
</item>
</layer-list>
效果截图:(颜色有出入,可以自行调整)
转载请注明:破晓博客 ? [原创]Android自定义进度条样式