写一个自己定义进度颜色和圆形转动的ProgressBar(具体介绍)
先上图:
我们得自己定义ProgressBar的样式
<span style="white-space:pre"> </span><style name="self_define_ProgressBar" parent="@android:style/Widget.ProgressBar.Horizontal"> //继承了android横向的ProgressBar的样式
<item name="android:indeterminateOnly">false</item>
<item name="android:progressDrawable">@drawable/self_define_progress</item>
</style>
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background" > //定义的是背景色
<shape>
<corners android:radius="5dip" />
<gradient android:angle="270" android:centerColor="#efefef"
android:centerY="0.75" android:endColor="#a3a3a3"
android:startColor="#c7c7c7" />
</shape>
</item> <item android:id="@android:id/secondaryProgress"> //假设有2级进度,须要定义这一项,gradient定义的是渐变色,clip假设没有的话,进度条会充满整个Progessbar
<clip>
<shape>
<corners android:radius="5dip" />
<gradient android:angle="270" android:centerColor="#99CC99"
android:centerY="0.75" android:endColor="#99CC99"
android:startColor="#99CC99" />
</shape>
</clip>
</item> <item android:id="@android:id/progress"> //这个是定义1级进度,假设1级进度比2级进度大且1级进度不透明。就能够覆盖掉2级进度
<clip>
<shape>
<corners android:radius="5dip" />
<gradient android:angle="270" android:centerColor="#4abbfd"
android:centerY="0.75" android:endColor="#4abbfd"
android:startColor="#4abbfd" />
</shape>
</clip>
</item> </layer-list>
在代码里这样使用:
private ProgressBar mProgressBar;
private Task mTask = new Task();
private int mCount = 0;
private Handler mHander = new MyHandler(); @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
mProgressBar = (ProgressBar)findViewById(R.id.progress);
Timer timer = new Timer();
timer.schedule(mTask, 1000, 1000);
} private class MyHandler extends Handler{ @Override
public void handleMessage(Message msg) {
mCount += 10;
mProgressBar.setProgress(mCount);
super.handleMessage(msg);
}
} private class Task extends TimerTask{ @Override
public void run() {
mHander.sendEmptyMessage(10);
}
}
对于圆形并有转圈动画的进度条:shape的值(rectagle矩形,oval椭圆,line水平直线。ring环形) tpye的值:渐变的样式 liner线性渐变 radial环形渐变 sweep
<? xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%"
android:pivotY="50%"
android:fromDegrees="0"
android:toDegrees="360"> <shape
android:shape="ring"<span style="font-family:verdana, ms song, 宋体, Arial, 微软雅黑, Helvetica, sans-serif;color:#666666;"><span style="font-size: 14px; line-height: 18px;">
</span></span> android:innerRadiusRatio="3"
android:thicknessRatio="8"
android:useLevel="false"> <size
android:width="37dip"
android:height="37dip"
/> <gradient
android:type="sweep"//type为sweep为环形转圈
android:useLevel="false"
android:startColor="#F7F7F7"
android:centerColor="#F7F7F7"
android:centerY="0.50"
android:endColor="#B3B4B4"
/> </shape> </rotate>
写一个自己定义进度颜色和圆形转动的ProgressBar(具体介绍)的更多相关文章
- python递归练习:生成一个n级深度的字典,例如:[1,2,3,4,5,6] 可以生成{1: {2: {3: {4: {6: 5}}}}},写一个函数定义n级
结果#encoding = utf-8#题目:#生成一个n级深度的字典,例如:[1,2,3,4,5,6] 可以生成{1: {2: {3: {4: {6: 5}}}}},写一个函数定义n级a=[1,2, ...
- 使用VB6写一个自定义的进度信息框窗口
一.起因说明 之前有些项目是用Access完成的,当时为了给用户显示一些进度信息,自制了一个进度信息窗体,类似下图所示: 随着项目不断变迁,需要将进度信息按阶段及子进度进行显示,并且出于代码封装的需求 ...
- 使用sys模块写一个软件安装进度条
import sys,time for i in range(50): sys.stdout.write('#') sys.stdout.flush() #强制刷新将内存中的文件写一条,输出一条. t ...
- android怎样写一个自己定义的dialog能够在Title的位置弹出来
先上效果图: Title的Layout为: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr ...
- 自己定义进度条PictureProgressBar——从开发到开源公布全过程
自己定义进度条PictureProgressBar--从开发到开源公布全过程 出处: 炎之铠邮箱:yanzhikai_yjk@qq.com 本文原创.转载请注明本出处! 本项目JCenter地址:ht ...
- 用python的time库写一个进度条
运算符 算数运算 如a=10,b=20 +两个数相加 a+b=30 -两个数相减 a-b=-10 两个数相乘 a****b =200 /两个数相除b/a=2 %取模,并返回余数b%a=0 幂,a*** ...
- 转---写一个网页进度loading
作者:jack_lo www.jianshu.com/p/4c93f5bd9861 如有好文章投稿,请点击 → 这里了解详情 loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在 ...
- 改变滚动条的原始样式: chrome 可以改变, IE只能变相关颜色,firfox好像也不好改。最好是自己写一个或是用插件
相关作者链接地址: https://www.lyblog.net/detail/314.html 问题: 1.我在项目中遇到的问题: 在设置了::-webkit-scrollbar 后,滚动条不见了! ...
- 写一个网页进度loading
作者:jack_lo www.jianshu.com/p/4c93f5bd9861 如有好文章投稿,请点击 → 这里了解详情 loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在 ...
随机推荐
- 【IDE】SharpDevelop
SharpDevelop 这个轻型的开发工具支持多种程序语言,包括C#.java以及VB.NET,同时还支持多种语言界面,象任何爱好者开发的工具一样.这个编辑器的界面风格类似于Office XP以及V ...
- SAS、R以及SPSS的比较__统计语言大战
- navicat 或者workbench 无法连接127.0.0.1(61)的解决方法
1.输入mysql -uroot 进入命令行模式, 2.输入"show variables like '%sock%';"查看sock文件所在位置 如: 3.配置客户端(以navi ...
- Xcode升级后插件失效的原理与修复办法
转载:http://joeshang.github.io/2015/04/10/fix-xcode-upgrade-plugin-invalid/ Xcode 的插件大大丰富了 Xcode 的功能,而 ...
- Android Studio 中SDK Manager的设置
android studio 代码块左边的缩进对齐线的颜色修改: Settings -> Editor -> Colors & Fonts -> General -> ...
- Cloud_panel
传统基础架构应用程序的系统架构师,云计算应用程序的设计确实是相当有挑战性的工作.体现在应用程序架构师首先要了解云计算环境和传统基础架构的差异并且充分利用云计算平台的一些特点来更好的满足用户需求. 对于 ...
- 关于python requests包新版本设置代理的问题
在更新了requests包之后,发现我电脑上的charles工具无法再成功抓取到数据包.百度了半年都没有找到原因. 然后 我使用了 google 查到了 charles的最新的文档发现.需要设置代理, ...
- Git 的核心概念解读
本文不是Git使用教学篇,而是偏向理论方面,旨在更加深刻的理解Git,这样才能更好的使用它,让工具成为我们得力的助手. 版本控制系统 Git 是目前世界上最优秀的分布式版本控制系统.版本控制系统是能够 ...
- Chef
Chef是一个渐渐流行的部署大.小集群的自动化管理平台.Chef可以用来管理一个传统的静态集群,也可以和EC2或者其他的云计算提供商一起使用.Chef用cookbook作为最基本的配置单元,可以被泛化 ...
- compiled python files
[compiled python files] As an important speed-up of the start-up time for short programs that use a ...