layer-list方式自定义progressbar
来源:互联网 发布:git for windows 64 编辑:程序博客网 时间:2024/05/17 03:52
先上布局:
<ProgressBar android:id="@+id/pb" style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:progressDrawable="@drawable/bg_progressbar" android:max="100" />
progressDrawable是重点,根标签是layer-list,看下代码:
<?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="5dip" /> <solid android:color="@color/color_e7e7e7"/> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <corners android:radius="5dip" /> <solid android:color="@color/color_f04726"/> </shape> </clip> </item> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="5dip" /> <solid android:color="@color/color_f04726"></solid> </shape> </clip> </item></layer-list>这里介绍一下clip标签,<clip>标签使用了如下的3个属性来控制如何截取图像。
android:drawable:指定要剪切的原图像,这里用的不是图片,用的是shape。
android:clipOrientation:截取的方向。可取的值:horizontal和vertical。分别表示水平和垂直方向截取图像。
android:gravity:表示如何截取图像。例如,left表示从左侧截取图像,right表示从右侧截取图像。
这样出来的进度是直角的,如果想要进度也是圆角的,布局如下:?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="5dip" /> <solid android:color="@color/color_e7e7e7"/> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <corners android:radius="5dip" /> <solid android:color="@color/color_f04726"/> </shape> </clip> </item> <item android:id="@android:id/progress"> <scale android:scaleWidth="100%" > <shape> <corners android:radius="5dip" /> <solid android:color="@color/color_f04726"></solid> </shape> </scale> </item></layer-list>
关键点是将clip标签替换为scale标签,scaleWidth设置为100%。
0 0
- layer-list方式自定义progressbar
- Android 之LayerDrawable层叠样式layer-list及自定义颜色ProgressBar
- Android简单自定义圆形和水平ProgressBar seekbar select layer-list 转
- Android自定义控件继承View,进度条ProgressBar,<layer-list><shap>的使用
- 关于layer-list在xml和代码中的用法ProgressBar
- 通过layer-list自定义EditText背景
- 用layer-list自定义drawable图形
- layer-list通过代码设置progressbar在某些机型上不显示问题
- layer-list
- Layer List
- Layer List
- layer-list
- layer-list
- 自定义progressbar
- 自定义ProgressBar
- 自定义Progressbar
- 自定义ProgressBar
- 自定义ProgressBar
- 在php中调用java的方法
- SQL语句常见面试题(一)
- Word2vec原理与应用
- iOS实现地图标注说明
- HID键值
- layer-list方式自定义progressbar
- MongoDB Java
- <jsp:useBean></jsp:useBean>
- mybatis配置出错,用注释就不能用*.xml
- java中解析复杂xml(XStream简单使用)
- jQuery学习教程三:jQuery 事件
- VS2010重构学习总结
- linux服务启动方式分析
- 深入理解Android Instant Run运行机制