ProgressBar自定义样式中的层叠图片显示问题
16lz
2021-01-25
android系统自带的那个progressbar比较戳,开发都会重新定义。
先看下效果:
肿么杨啊,比系统的好看多了吧
progressbar:
[html] view plain copy
- <ProgressBar
- android:id="@+id/downloadbar"
- android:layout_width="fill_parent"
- android:layout_height="10dip"
- style="?android:attr/progressBarStyleHorizontal"
- android:progressDrawable="@drawable/progressbar_layer_list"
- android:background="@drawable/progressbar_box"
- />
其中的progressbar_layer_list
[html] view plain copy
- <?xmlversion="1.0"encoding="UTF-8"?>
- <layer-listxmlns:android="http://schemas.android.com/apk/res/android">
- <itemandroid:id="@android:id/background">
- <clip>
- <shape>
- <cornersandroid:radius="15dip"/>
- <gradientandroid:startColor="#00b7ee"android:endColor="#0075a9"android:angle="270"android:centerY="0.75"/>
- </shape>
- </clip>
- </item>
- <itemandroid:id="@android:id/secondaryProgress">
- <clip>
- <shape>
- <cornersandroid:radius="15dip"/>
- <gradientandroid:startColor="#00b7ee"android:endColor="#0075a9"android:angle="270"android:centerY="0.75"/>
- </shape>
- </clip>
- </item>
- <itemandroid:id="@android:id/progress">
- <clip>
- <shape>
- <gradientandroid:startColor="#00b7ee"android:endColor="#0075a9"android:angle="270"android:centerY="0.25"/>
- <cornersandroid:radius="15dip"/>
- </shape>
- </clip>
- </item>
- </layer-list>
如果需要图片作为背景的话:
<?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/loading_bg"/> <item android:id="@android:id/progress"> <clip android:clipOrientation="horizontal" android:drawable="@drawable/loading_line" android:gravity="left" > </clip> </item> <!-- <item android:id="@android:id/progress"> --> <!-- <clip > --> <!-- <shape > --> <!-- <corners android:radius="8dip" /> --> <!-- <gradient --> <!-- android:angle="270" --> <!-- android:endColor="#111111" --> <!-- android:startColor="#FFFFFF" /> --> <!-- </shape> --> <!-- </clip> --> <!-- </item> --></layer-list>
这里注意,名字必须按照 “@android:id/backgroud” “@android:id/secondaryProgress” “@android:id/progress”三种形式来写;
这样就可以自动的增加进度条量了。c
clip 这个属性需要加上,否则显示会不正常。
更多相关文章
- Android(安卓)记事本-Demo
- Android示例应用:开源框架Glide的使用
- 2.2.1 LinearLayout(线性布局)
- Android(安卓)在Java代码中设置style属性--使用代码创建Progress
- android 利用httpclient上传图片
- 主题:ListView(带图片)显示用法案例
- 【java】【android】序列化Serializable和继承
- Android开发入门之网络通信(网络图片查看器)
- LinearLayout 线性布局属性