美文网首页Android问题汇总(遥远的回忆过去)
Android-全局转圈轻量级控件StateView(小萌新一直

Android-全局转圈轻量级控件StateView(小萌新一直

作者: MonkeyLei | 来源:发表于2019-08-14 09:44 被阅读96次

项目也是一直在用这个全局的,比较轻量,对于我来说,简洁实用就好。 附上地址:nukc/StateView 。大家肯定有别的,甚至好多人都是自己写就好了,小萌新懂的,小萌新这里简单记录下导入模块的一些问题处理,以及尝试去做一些修改,同时也能看看别人开源项目的源码,好好向别人学习啥的!

之前用的时候直接自动导入的:

image

使用简单(一般注册到布局的根View就可以了。根View没有名字的可以自定义一个id获取就行 。 小萌新基本都是需要在哪个view上就注册给哪个就行):

image

它有个缺点就是,如果当前没有数据,我设置了mStateView.showEmpty(), 空视图的情况下,这种情况不能点击重试 - 因为后台有可能立即添加了一条,但是用户还保持当然空数据视图页面,所以我需要这种情况也触发点击刷新,因此需要在模块上也增加点击重试(直接导入模块,加入和showRetry相同的处理即可)。

(小萌新没有导入module之前,也可以加,不过都是找到控件再添加的,那样不好,和StateView模块分离了,没有整体性)

压缩包下载下(如果不知道导入哪个模块,很简单,看下工程模块下的settings.gradle):

image

所以下载文件夹后导入如下两个模块即可:

image

1. 导入模块后,app依赖这两个模块

image

2. 然后删除library下的build.gradle中的最后一句(因为我不做git发布,所以不需要,否则你还要依赖这个配置)

image

3. 然后animations模块下的bintray.gradle自然也就把它删除了....

image image

3. 然后找到library模块下的showRetry方法下的关于重试点击事件的处理部分

image

4. 然后将其处理完全可以复制一份到空数据视图的情况

   public View showEmpty() {
        if (mEmptyView == null) {
            mEmptyView = inflate(mEmptyResource, EMPTY);
            mEmptyView.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (mRetryClickListener != null) {
                        showLoading();
                        mEmptyView.postDelayed(new Runnable() {
                            @Override
                            public void run() {
                                mRetryClickListener.onRetryClick();
                            }
                        }, 400);
                    }
                }
            });
        }

        showView(mEmptyView);
        return mEmptyView;
    }

基本上OK了! 这样我们如果判断首次请求列表数据为空的情况就可以设置showEmpty,然后点击事件就可以和重试一下,走下刷新逻辑:

image

逻辑的地方设置一下空视图就好

image

到此基本上就可以。小萌新们开始自己的新项目前,可以把基础的结构搭起来,像依赖注入,eventbus呀这些,像Glide、Rx家族,像下拉刷新,上拉加载这些也可以添加上。然后把基本的结构,底部菜单都弄好,把自己封装的通用网络,通用适配器都可以整上,做项目也要实践提升自己方可成就更多。 还可以把公司可能用的分享、推送配置上。 基本逻辑都完事,到时候做项目之间就来,过程中还可以完善相关配置。

好了,先到这里吧。。。。记录下就好。加油,么么哒!

相关文章

  • Android-全局转圈轻量级控件StateView(小萌新一直

    项目也是一直在用这个全局的,比较轻量,对于我来说,简洁实用就好。 附上地址:nukc/StateView 。大家肯...

  • Android 之 StateView(状态页面切换)

    StateView 一个轻量级的控件, 继承自 View, 吸收了 ViewStub 的一些特性, 初始状态下是不...

  • SVProgressHUD自定义动画

    SVProgressHUD是一个轻量级的加载显示控件,简洁易用的API很受开发者青睐。看烦了经典的转圈动画?下面提...

  • Android-控件架构

    Android-控件架构 Android的控件是Android的血与肉;本篇会讲解Android的View架构,v...

  • 开关控件 UISwitch

    *之前,在一个控件里访问另一个控件的内容,要把另一个控件提到全局类里面;现在有个新技巧,通过tag来区分控件(通过...

  • Android-自定义View-onMeasure方法续篇

    上一篇 Android-自定义View-onMeasure方法 我们继续.... 之前我们针对控件大小做了重新测量...

  • Android-常用控件

    1. WebView 2. ScrollView 能包含一个子控件,若想添加多个控件,可添加一个布局 问题解决:自...

  • 小萌新

    从昨天开始小萌新已经开始陆陆续续来到学校报道。可惜到今天为止都没能听到小萌新软软的叫我一声学姐ヽ(*。>Д...

  • 小萌新

    https://v.ixigua.com/JjfnjXY/

  • 大量autojs常用代码介绍以及示例

    一.全局 二.应用(App) 三.坐标 四.控件 ①.文本控件 ②.滑动控件 ③.方形控件 五.选择器进阶 六.U...

网友评论

    本文标题:Android-全局转圈轻量级控件StateView(小萌新一直

    本文链接:https://www.haomeiwen.com/subject/jrvwjctx.html