androidprogresslayout实现为界面添加圆形进度条。调用setprogress()方法显示和隐藏进度条
在android的开发中,往往有这种需求,比如一个耗时的操作,联网获取网络图片、内容,数据库耗时读写等等,在此耗时操作过程中,开发者也许不希望用户再进行其他操作(其他操作可能会引起逻辑混乱),而此时需要给用户一个额外的加载页面遮挡住主逻辑代码的运行,待主页面的耗时操作完成后,自动消失这样加载过度页面,恢复出正常应该显示的页面。
举个实际的例子,如代码使用android webview打开一个网页链接试图加载某个网站,但网络质量不佳,需要耗时很久,那么在这个过程中,较好的用户体验做法是:给用户一个加载进度页面,遮挡住webview。当加载的内容成功后在完全切换回正常的逻辑页面。
android androidprogresslayout实现了这样的功能,android androidprogresslayout在github上的项目主页是:https://github.com/antonkrasov/androidprogresslayout
测试代码如下:
activity_main.xml:
1
2
3
4
5
6
7
8
9
10
11
12
|
<com.github.androidprogresslayout.progresslayout xmlns:android= "http://schemas.android.com/apk/res/android"
xmlns:progresslayout= "http://schemas.android.com/apk/res-auto"
android:id= "@+id/progresslayout"
android:layout_width= "match_parent"
android:layout_height= "match_parent" >
<textview
android:id= "@+id/textview"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:textsize= "sp"
android:layout_centerinparent= "true" />
</com.github.androidprogresslayout.progresslayout>
|
mainactivity.java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package com.zzw.testandroidprogresslayout;
import com.github.androidprogresslayout.progresslayout;
import android.app.activity;
import android.os.bundle;
import android.os.handler;
import android.os.message;
import android.view.animation.animation;
import android.widget.textview;
public class mainactivity extends activity {
@override
protected void oncreate(bundle savedinstancestate) {
super .oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);
final progresslayout progresslayout = (progresslayout) findviewbyid(r.id.progresslayout);
final textview textview = (textview) findviewbyid(r.id.textview);
handler handler = new handler() {
@override
public void handlemessage(message msg) {
textview.settext( "测试完成" );
// 切换回正常显示页面
progresslayout.showcontent();
}
};
// 开始加载... 假设从这里开始一个耗时的操作将开始启动,在此启动过程中,开发者希望用户稍事休息,等待。。。
progresslayout.showprogress();
// 假设有一个耗时的加载业务逻辑,需要秒完成。
handler.sendemptymessagedelayed(, );
}
}
|
以上内容是小编给大家分享的关于加载页面遮挡耗时操作任务页面--第三方开源之androidprogresslayout的全部叙述,希望大家喜欢。