写一个自己定义进度颜色和圆形转动的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经常会有下拉刷新,上拉加载的功能,在 ...
随机推荐
- Scrum概述
• 敏捷方法是一类软件开发流程的泛称: • 敏捷方法是相对于传统的瀑布式软件过程提出的: • 敏捷方法可以用敏捷宣言(4条).敏捷原则(12条)来概括: • 敏捷原则通过一系列的敏捷实践来体现出来: ...
- mysql 的 GROUP_CONCAT
GROUP_CONCAT 通常跟 group by 一起用,但也可以不用.例:select GROUP_CONCAT(pct_id) as pct_ids from (select max(pct_i ...
- 验证dictionary重复键
if (dict.ContainsKey("sadsa")) { }
- 40 个顶级 jQuery 图片、内容滑块和幻灯片(转)
在这个快速发展的网络世界中,我们使用图片.内容滑块和幻灯片来给网站实现良好.有吸引力的外观.你可以吸引浏览者借助图像滑块让网站更加具有活力.使用 JavaScript 可以轻松实现轻量级的图片和内容滑 ...
- c++builder 重载WindowProc、WndProc 截获消息
c++builder 重载WindowProc.WndProc 截获消息 方法一WindowProc void __fastcall myWindowProc(Messages::TMessage ...
- Hadoop MapReduce概念学习系列之mr程序组件全貌(二十)
其实啊,spilt是,控制Apache Hadoop Mapreduce的map并发任务数,详细见http://www.cnblogs.com/zlslch/p/5713652.html map,是m ...
- C#实现office文档转换为PDF或xps的一些方法( 转)
源博客http://blog.csdn.net/kable999/article/details/4786654 代码支持任意office格式 需要安装office 2007 还有一个office20 ...
- printf函数重定向
printf函数底层会调用fputc函数 /*重定向c库函数printf到USART1*/ int fputc(int ch, FILE *f) { /*发送一个字节数据USART1 */ USART ...
- JAVA大数运算
java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...
- HDU 4593 Robot (水题)
题意:有 n 个数,其中有两个数中相同的,让你找出这个数. 析:太简单了么,只要用数组下标记一下这个数的数量即可. 代码如下: #include <iostream> #include & ...