作为 Android 开发者,无奈经常会碰到各种各样的奇葩需求,现在大多公司 UI 设计图、标注都是按 IOS 来设计的,包括一个IOS特有的效果等,要实现和 IOS 一样的效果,无奈 Android 只能各种仿 IOS 了,经常也是产品被怼,IOS 能实现,为什么 Android 不能实现?好吧,今天我们就来写一个仿 IOS 的加载 loading 效果。
1.先看效果图
效果还满意吧?实现的思路是,在页面上弹出一个全屏的 popupWindow,居中是一个半透明的圆角shape,中间一个 gif 图片,下面是一个 TextView,最外层布局背景为透明,另外把其他需外设置的属性及参数通过建造者模式从外部进行配置,同时提供默认的属性值,这样可以适应各种需求的变化了,代码也比较简单,我的注释也写的比较详细,相信你一定能看得懂。
2.代码实现
1 | /** |
3.用法
3.1初始化Loading
1.最基本的用法:
1 | // 因为 PopupWindow 依赖于Activity,所以必须要调用 setDropView 方法设置要挂载的 View, |
2.自定义设置各种参数:
1 | mLoadingView = new LoadingView.Builder(this) |
3.2 显示Loading
1 | mLoadingView.show(); |
3.3 取消Loading
1 | mLoadingView.dismiss(); |
4.支持的自定义设置
- 支持设置字体文案、及颜色和字体的大小;
- 支持设置文字距上的边距;
- 支持设置Loading的宽高;
- 支持设置Loading的圆角半径及背景颜色;
- 支持设置Loading的监听;
- 支持设置加载其他gif资源;
- 支持设置gif图片显示的宽高;
- 支持设置Loading的焦点;
- …
好了,今天的分享就到这里,需要下载 Demo 的请点击 「阅读原文」!
猜你喜欢:
深入浅出Retrofit2.x(一)
深入浅出Retrofit2.x(二)
不得不会的10点Java基础知识
Android 最全 Intent 传递数据姿势