最近在做1个widget,上面需要1个progressbar,产品经理和设计师给出来的东西是要实现1个圆角的progress和自定义的色彩,研究1小下,分享出来给大家哦。
测试于: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⑻"?>
<!-- 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⑵.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自定义进度条样式