Android之ProgressBar配置文件源码
来源:互联网 发布:美国对外投资数据 编辑:程序博客网 时间:2024/06/05 21:55
本文主要是记录ProgressBar源码的学习过程
先介绍一下学习源码的工具,工欲善其事必先利其器嘛,
Android SDK search,google浏览器插件,启用插件,然后进入官网: 查找ProgressBar
不过这个源码不是我想查看的,我的目标是progressbar那个旋转动画,往下找,发现找了一圈,style里没有想要的,就自定义个个style,继承自ProgressBar,
一路点击 parent,最后看到:
<style name="Widget.ProgressBar"> <item name="indeterminateOnly">true</item> <item name="indeterminateDrawable">@drawable/progress_medium_white</item> <item name="indeterminateBehavior">repeat</item> <item name="indeterminateDuration">3500</item> <item name="minWidth">48dip</item> <item name="maxWidth">48dip</item> <item name="minHeight">48dip</item> <item name="maxHeight">48dip</item> <item name="mirrorForRtl">false</item> </style><item name="indeterminateDrawable">@drawable/progress_medium_white</item>就是我要找的了
回到api 官网找源码,在drawble下面 找到progress_medium_white,很失望啦,源码特别简单,就一个旋转动画的配置
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/spinner_white_48" android:pivotX="50%" android:pivotY="50%" android:framesCount="12" android:frameDuration="100" />以为复制过来就可以直接使用,没想到android:framesCount 找不到,只有自己画一个圆形加载圈圈了drawble/round_progress.xml
<?xml version="1.0" encoding="utf-8"?><rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" > <shape android:innerRadiusRatio="3" android:shape="ring" android:thicknessRatio="10" android:useLevel="false" > <gradient android:startColor="#FFFFFF" android:centerColor="#FFAABF" android:endColor="#FFAABF" android:centerY="0.50" android:type="sweep" android:useLevel="false" /> </shape></rotate>使用
<ProgressBar style="?android:attr/progressBarStyleLarge" android:indeterminateDrawable="@drawable/round_progress" android:layout_width="60dp" android:layout_height="60dp" />
顺便总结一下 shape
shape可以绘制矩形,环形以及椭圆,size 高宽设置成一样就是正圆. solid表示图形的填充色, stroke则代表边框线,所以两者结合可以实现带边缘的图形 如果是虚线,使用 dashGap size控制高宽 corners 圆角 gradient 渐变色 白色的圆 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="@android:color/white"/> <size android:width="22dp" android:height="22dp"/> </shape> 从上而下的一个渐变色 ;angle = 0 ,从左往右 <shape android:shape="rectangle"> <gradient android:startColor="#ffffff" android:endColor="#ffd88d" android:angle="90"/> </shape> 带边框的圆角透明图形 <shape > <stroke android:width="2dp" android:color="#FFAABF"/> <solid android:color="#00fff000"/> <corners android:radius="5dp" /> </shape>
结果不重要,重要的是解决问题的过程,比如查看源码的流程
0 0
- Android之ProgressBar配置文件源码
- Android ProgressBar 之源码解析及扩展应用!
- android之progressBar
- android控件之progressbar
- Android控件之ProgressBar
- Android控件之ProgressBar
- android 界面之 progressbar
- Android--UI之ProgressBar
- Android--UI之ProgressBar
- Android控件之ProgressBar
- Android UI之ProgressBar
- Android之自定义ProgressBar
- android 之进度条--------progressbar
- Android API之ProgressBar
- Android控件之ProgressBar
- Android之进度条ProgressBar
- Android控件之ProgressBar
- Android控件之ProgressBar
- perform巡回演出_ssl1649_dp
- STM32下模拟I2C的C语言实现
- poj 3615 Cow Hurdles
- 三次握手的第三个ACK包丢了——客户端认为连接建立,写数据时,会触发RST
- 数据库Oracle 9i 的保护模式
- Android之ProgressBar配置文件源码
- MQTT之阿里云接受推送消息
- 复杂链表的复制
- 2016年腾讯校招笔试题(研发岗)
- VS2015,C++目录问题
- iOS开发常见的宏定义(实用)
- spring默认标签解析
- Kinect与KinectFusion重建
- 智能指针的使用