链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

KingJA/LoadSir:用于加载页面时显示不同页面的Android库

LoadSir是一个轻量级、扩展性良好的Android库。在加载网络或其他数据时,可根据需求切换状态页面,像加载中、加载失败、无数据、网络超时等,还能添加自定义状态页,例如占位图、登录失效等常用页面。它可以配合网络加载框架,结合返回状态码、错误码、数据进行状态页自动切换,具有众多...

访问官网 →

【Github】项目名:KingJA/LoadSir:用于加载页面时显示不同页面的Android库

一、项目简介

LoadSir是一个轻量级、扩展性良好的Android库。在加载网络或其他数据时,可根据需求切换状态页面,像加载中、加载失败、无数据、网络超时等,还能添加自定义状态页面,例如占位图、登录失效等常用页面。它可以配合网络加载框架,结合返回状态码、错误码、数据进行状态页自动切换,封装使用效果更佳。

二、项目特点

  • 支持Activity、Fragment、Fragment(v4)、View状态回调。
  • 适配多个Fragment切换及Fragment+ViewPager切换,不会布局叠加或者布局错乱。
  • 利用泛型转换输入信号和输出状态,可根据网络返回体的状态码或者数据返回自动适配状态页,实现全局自动状态切换。
  • 无需修改布局文件,只加载唯一一个状态视图,不会预加载全部视图。
  • 不需要设置枚举或者常量状态值,直接用状态页类类型(xxx.class)作为状态码。
  • 可对单个状态页单独设置点击事件,根据返回boolean值覆盖或者结合OnReloadListener使用,如网络错误可跳转设置页。
  • 无预设页面,低耦合,开发者随心配置。
  • 可保留标题栏(Toolbar,titileview等),可设置重新加载点击事件(OnReloadListener),可自定义状态页(继承Callback类)。
  • 可在子线程直接切换状态,可设置初始状态页(常用进度页作为初始状态),可扩展状态页面,在配置中添加自定义状态页,可全局单例配置,也可以单独配置。

三、项目使用

  1. 添加依赖

    compile ‘com.kingja.loadsir:loadsir:1.3.8’

  2. 配置

    • 全局配置方式

      在Application中配置,添加状态页,设置默认状态页。

    • 单独配置方式

      如果想保留全局配置又想在特殊页面有不同配置可采用该方式。

  3. 注册

    在Activity、View、Fragment中的注册方式有所不同,但基本思路都是先获取布局View,然后注册布局View并设置重新加载的逻辑。

  4. 回调

    有直接回调和转换器回调(推荐使用)两种方式,还可以自定义回调页,并且能够动态修改Callback。

四、项目总结

LoadSir为Android开发中的页面加载状态管理提供了一种高效、灵活的解决方案。如果你在使用过程中有任何想法或者遇到问题,欢迎在下方留言讨论。

项目地址

GitHub链接直达