博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简易仿ios菊花加载loading图
阅读量:6090 次
发布时间:2019-06-20

本文共 1378 字,大约阅读时间需要 4 分钟。

原文链接:

项目中经常会用到加载数据的loading显示图,除了设计根据app自身设计的动画loading,一般用的比较多的是仿照ios 的菊花加载loading 图,当然一些条件下还会涉及到加载成功/ 失败情况的显示,还有显示文字。

使用ProgressBar 来加载动画转圈,这里使用drawable文件 定义转圈动画,indeterminateDrawable属性进行加载。

部分情况下,在加载成功/ 失败之后会显示对应的静态图片,所以一开始想直接通过setIndeterminateDrawable(Drawable d) 来加载静态图片,但是直接写是显示不出图片的,还要设置Drawable 的位置 d.setBounds(Rect bounds),即使这样加载出了静态图片,但是设置R.drawable.anim 的转圈动画时 却没有了转圈的效果,好气哟 ~~

所以在自定义view 的布局里 成功/失败的状态单独用imageView显示

自定义view,提供三种状态的方法。

public class LoadingView extends LinearLayout {    ...构造函数...        /**     * loading     */    public void showLoading() {        iv.setVisibility(GONE);        progressBar.setVisibility(VISIBLE);    }    /**     * 成功     */    public void showSuccess() {        iv.setImageResource(R.mipmap.load_success);        iv.setVisibility(View.VISIBLE);        progressBar.setVisibility(GONE);    }    /**     *失败     */    public void showFail() {        iv.setImageResource(R.mipmap.load_fail);        iv.setVisibility(View.VISIBLE);        progressBar.setVisibility(GONE);    }    /**     * 提示文字     *     * @param txt string     */    public void setText(String txt) {        tv.setText(txt);    }    /**     * 提示文字     */    public void setText(@StringRes int txtId) {        tv.setText(txtId);    }    }

效果图:

github地址:

欢迎关注我的个人博客:

更多精彩欢迎关注微信号:春风十里不如认识你

一起学习,一起进步,有问题随时联系,一起解决!!!

转载地址:http://gevwa.baihongyu.com/

你可能感兴趣的文章
Java 多线程编程
查看>>
软链接和硬链接的区别
查看>>
理解eosio.token合约
查看>>
详解MongoDB复制集
查看>>
关于tomcat的8005端口启动不起来的解决办法
查看>>
常量指针-指向常量的指针,指针常量-指针本身是常量,常量-不能更改值的常量,数组指针-是指针int (*p)[n] 指针数组-是数组int *p[n]...
查看>>
谈谈Java引用和Threadlocal的那些事
查看>>
spark的持久化和共享变量
查看>>
migration vmware vms to openstack kvm 修改vmware windows scsi to ide
查看>>
Centos7下更改docker镜像存放地址
查看>>
大数据处理的基本流程
查看>>
CDH5.16.1集群企业真正离线部署
查看>>
ORACLE批量导入图片到BLOB字段
查看>>
扩容swap交换分区空间
查看>>
SVN主从高可用
查看>>
POI excel添加注释
查看>>
程序员面试题100题第12题——从上往下遍历二元树
查看>>
X-Frame-Options防止网页放在iframe中
查看>>
Linux主机规划与磁盘分区
查看>>
JS获取上传文件的大小
查看>>