大概原理就是定义了imageView 然后他的背景是一个bitmap ,这个位图的模式是重复模式,
自动填充的,你img有多宽它就填多宽,最后你在外面动态调整img的宽度,就会自动填充
看起来就是进度条那样一直往前走:
位图:图片自己找一个主要是那个模式要是repeat
在布局中的imageview用此位图来填充背景:
初始状态设置宽度为0,在程序里面在动态调节img 的宽度
主程序里面的控制宽度的代码:
上面有好几处没有写明,能看懂就行,eachAddLength是每次要增加的
进度条的长度, handler.sendEmptyMessage(0);前面应该加上你要处理数据的方法:
比如读取一个文件夹,比如加载一个联系人之类的,for循环的次数也是你自己来控制
最后 handler.sendEmptyMessage(1);是来说明数据加载完了,现在该干嘛干嘛!要么
让dialog.dismiss 要么让页面跳转。do everything you want!~
自动填充的,你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!~