android简单loading,一个简单能用的LoadingDialog

本文介绍如何在Android应用中创建和使用自定义的LoadingDialog,包括添加依赖、初始化样式、设置加载和反馈文字,以及如何与RxJava结合使用。提供了详细的代码示例和方法解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感谢习惯沉默,我也是受此启发才做了这个项目,虽然之前写过文章,也去他的博客底下评论过,不过时过境迁,现在评论的功能已经被关闭了,还是在项目里感谢一下。

LoadingDialog

68747470733a2f2f6a69747061636b2e696f2f762f466f72676574416c6c2f4c6f6164696e674469616c6f672e737667

如何使用

Step 1. 把这玩意加到你的build.gradle里:

allprojects {

repositories {

...

maven { url "https://jitpack.io" }

}

}

Step 2. 加上这个依赖

dependencies {

implementation 'com.github.ForgetAll:LoadingDialog:v1.1.2'

}

使用方法与效果图

如何设置默认的样式,并使之影响全局: 提供了一个StyleManager类,通过提供的方法设置一些属性,请在application里进行这个初始化工作:

StyleManager s = new StyleManager();

//在这里调用方法设置s的属性

//code here...

s.Anim(false).repeatTime(0).contentSize(-1).intercept(true);

LoadingDialog.initStyle(s);

更多的属性设置可以参考类->StyleManager

展示一个loading dialog:

new LoadingDialog(this)

.setLoadingText("加载中...")//设置loading时显示的文字

.show();

效果图: 2966ba0bfb58a3cd455cff8ecf0e6d67.gif

展示一个loading dialog并在合适的时机返回正确或者错误的反馈给用户:

LoadingDialog ld = new LoadingDialog(this);

ld.setLoadingText("加载中")

.setSuccessText("加载成功")//显示加载成功时的文字

//.setFailedText("加载失败")

.setInterceptBack(intercept_back_event)

.setLoadSpeed(speed)

.setRepeatCount(repeatTime)

.setDrawColor(color)

.show();

//在你代码中合适的位置调用反馈

ld.loadSuccess();

//ld.loadFailed();

效果图:

loadSuccess.gifd306917cdb1bf28a95add2a3839f4333.gif

还是同样的蜜汁小圆点。。。因为不摸他 加载结束他就不录了,辣鸡AS。。。

如果你不想要这个动态画出来的效果,你也可以通过closeSuccessAnim()或者closeFailedAnim()关闭它:

LoadingDialog ld = new LoadingDialog(this);

ld.setLoadingText("加载中")

.setSuccessText("加载成功")

.setInterceptBack(intercept_back_event)

.setLoadSpeed(speed)

.closeSuccessAnim()

.setDrawColor(color)

.setRepeatCount(repeatTime)

.show();

f0e440426f153babab6b926b510966dd.gif

如何与Rx搭配使用?

项目的sample里有一个使用Rx的例子,各位可以参考一下,这个例子来自于热心的前辈——猫哥, 感谢猫哥对于我的大力支持还有越越的一些建议,恩,感觉还有一些事没做完,留在以后的版本吧(flag已立)

提供你使用的一些方法:

setSize(int size):可以通过这个来设置弹框的尺寸,首先我这要求长宽相等的,所以只给一个参数设置他的尺寸就行了。再者我在自定义View里也会把不同的长宽处理成一样的。在项目中有一个SizeUtils,在设置尺寸的时候注意用这个工具将dp转换成px。

show():展示你设置的loadingDialog

close():关闭动画释放一些资源

setLoadingText(String msg):设置Loading时的文字

setSuccessText(String msg):设置Loading成功时文字

setFailed(String msg):设置Loading失败时的文字

loadSuccess():调用这个方法展示一个成功的反馈

loadFailed():调用这个方法展示一个失败的反馈

closeSuccessAnim():关闭成功反馈的动态绘制

closeFailedAnim():关闭失败反馈的动态绘制

setInterceptBack(boolean interceptBack):是否拦截用户back,如果设置为true(默认也为true),那么一定要调用close(),或者loadSuccess()、loadFailed()这二者中的一个,不然出现无限loading的情况我相信你不会想看到的。

getInterceptBack():返回dialog是否拦截的布尔值

setLoadSpeed(Speed speed):参数是一个枚举,一共两个值,SPEED_ONE是比较慢的,SPEED_TWO比前一个快一点,为毛不再加?处理起来比较麻烦...

setDrawColor(int color):可以改变绘制的颜色,圆和里面的勾啊,叉啊的颜色,不建议你用,不一定好看。

setRepeatCount(int count):设置动态绘制的次数,比如你设置了值为1,那么除了加载的时候绘制一次,还会再绘制一次。如果你有这个需要,可以设置他的重绘次数。

setShowTime(long time):设置反馈结果窗口的展示时间,默认为1秒,如果有绘制过程,则从绘制完成之后算。

License

Copyright 2016 xiasuhuei321

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值