常用控件
Last updated
Was this helpful?
Last updated
Was this helpful?
CircularBar是一个特殊动画的圆形进度条, 常用于提示用户等待网络/io等结果. 效果如下:
CircularBar的用法很简单, 有3个可配置选项:
也可通过代码设置:
需要注意的是, 默认情况下, 无需对CircularBar做任何处理, 甚至无需在java里将其声明出来. 但是如果一旦要反复的控制CircularBar的显示隐藏, 就需要调用CircularBar的startAnimation()
和stopAnimation()
来控制动画的启动与停止. 这是为什么呢? 由于CircularBar内部使用的是ObjectAnimator, 并且是反转的无限动画. 无限动画如果不在适当的时候停止动画, 很容易造成context的内存泄漏. CircularBar会在onAttachedToWindow()
中启动动画, onDetachedFromWindow()
中停止动画, 因此大部分情况下无需处理动画的停止.
LoadingDialog是BaseActivity中默认的加载框, 长得跟下面一样:
LoadingDialog默认是没有文字的, 可以通过loadingDialog.setMessage()
来设置String或者resource的文字消息. 可以看到LoadingDialog中使用了CircularBar, LoadingDialog对CircularBar的动画做了以处理避免内存泄漏的发生. 使用方法:
项目中推荐默认使用MaterialDialog, 而无需跟着UI设计自己编写一个Dialog, 重复工作太多. MaterialDialog的用法比较简单, 支持的布局也很多, 具体可以参考 GitHub .