利用图片的填充属性来制作进度条

大概原理就是定义了imageView 然后他的背景是一个bitmap ,这个位图的模式是重复模式,

自动填充的,你img有多宽它就填多宽,最后你在外面动态调整img的宽度,就会自动填充

看起来就是进度条那样一直往前走:

位图:图片自己找一个主要是那个模式要是repeat


<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/progressbaron"
android:tileMode="repeat" />


在布局中的imageview用此位图来填充背景:


<ImageView android:id="@+id/progressbar"
android:layout_width="0px"
android:layout_height="wrap_content"
android:background="@drawable/bitmapdrawable" />


初始状态设置宽度为0,在程序里面在动态调节img 的宽度

主程序里面的控制宽度的代码:


LayoutParams params = (LayoutParams) image.getLayoutParams();
new Thread() {
public void run() {
Looper.prepare();

for (int i = 0; i < 10; i++) {
//do something
handler.sendEmptyMessage(0);
}
handler.sendEmptyMessage(1);
}
}.start();

Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
params.width += eachAddLength;
image.setLayoutParams(params);
break;
case 1:
//do something
break;
}
}
};



上面有好几处没有写明,能看懂就行,eachAddLength是每次要增加的

进度条的长度, handler.sendEmptyMessage(0);前面应该加上你要处理数据的方法:

比如读取一个文件夹,比如加载一个联系人之类的,for循环的次数也是你自己来控制

最后 handler.sendEmptyMessage(1);是来说明数据加载完了,现在该干嘛干嘛!要么

让dialog.dismiss 要么让页面跳转。do everything you want!~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值