PageStatusControl.java 源码

查看完整文章

package china.test.customview.pagestatusview;


import android.support.annotation.IntDef;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * Created by benchengzhou on 2018/7/23  16:20 .
 * 作者邮箱: mappstore@163.com
 * 功能描述: 数据状态页
 * 类    名: PageStatusControl
 * 备    注:
 */

public interface PageStatusControl {


    /**
     * 正常加载数据
     */
    public int PAGE_STATUS_NORMAL = 100;


    /**
     * 界面加载中
     */
    public int PAGE_STATUS_LOADING = 102;


    /**
     * 没有数据
     */
    public int PAGE_STATUS_NO_DATA = 103;
    /**
     * 网络异常,无法连接网络
     */
    public int PAGE_STATUS_NET_WORK_ERROR = 109;

    /**
     * 数据加载失败
     */
    public int PAGE_STATUS_LOAD_FAIL = 114;





    @IntDef({PAGE_STATUS_LOAD_FAIL
            , PAGE_STATUS_LOADING
            , PAGE_STATUS_NET_WORK_ERROR
            , PAGE_STATUS_NO_DATA
            , PAGE_STATUS_NORMAL})

    @Retention(RetentionPolicy.SOURCE)
    public @interface PageStatusType {
    }


    /**
     * 数据页初始化
     *
     * @return
     */
    public PageStatusControl initPageStatus();

    /**
     * 数据页初始化
     *
     * @param status 初始化展示的界面状态,默认为正常(不显示状态页)
     * @return
     */
    public PageStatusControl initPageStatus(@PageStatusType int status);


    /**
     * @param #status One of {@link #PAGE_STATUS_LOAD_FAIL}, {@link #PAGE_STATUS_LOADING}, {@link #PAGE_STATUS_NET_WORK_ERROR}, {@link #PAGE_STATUS_NO_DATA},
     *                {@link #PAGE_STATUS_NET_WORK_ERROR} .
     * @return
     */
    public PageStatusControl syncPageStatus(@PageStatusType int status);


    /**
     * 获取当前界面展示的状态
     *
     * @return
     */
    public int getPageStatus();

    /**
     * 显示设定的页面状态
     */
    public void displayStatusPage();

    /**
     * 同步页面状态,并显示到页面上
     */
    public void displayStatusPage(@PageStatusType int status);


    /**
     * 禁用原生加载更多布局
     *
     * @param isLoadingViewEnable
     */
    public void setLoadingViewEnable(boolean isLoadingViewEnable);


    /**
     * 获取加载更多页面状态
     *
     * @return
     */
    public boolean getLoadingViewEnable();


    /**
     * 加载错误点击揭界面重试
     */
    public void setOnErrorLoadRetryListener(LoadRetryListener loadRetryListener);

    /**
     * 状态页状态回调
     * 用于同步加载动画
     */
    public void setOnPageStatusListener(PageStatusLisener pageStatusListener);


    /**
     * 注册错误界面点击事件
     */
    public interface LoadRetryListener {
        void onErrorRetryCilck(@PageStatusType int statusType);
    }


    /**
     * 注册状态页面回调,用于界面状态展示
     */
    public interface PageStatusLisener {
        void onLoading();

        void onFinish();
    }

}

查看完整文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值