美文网首页
StatusView 多功能状态控件

StatusView 多功能状态控件

作者: 真的有照片 | 来源:发表于2018-02-06 16:51 被阅读0次

StatusView 多功能状态控件

简单实用的页面多状态布局(content,loading,empty,error)

内容视图
加载视图
错误视图
空视图

Gradle

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
dependencies {
            compile 'com.github.LZHS:StatusView:v1.0.1'
    }

Usage

在主题中设置默认样式

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="android:textColorSecondary">#ffffff</item>
        <item name="windowNoTitle">true</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        
        <item name="StatusViewAttr">@style/CurssStatusStyle</item> 
    </style> 
    
    <style name="CurssStatusStyle" parent="StatusView.Style">
        <item name="StatusTextColor">#99999</item>
        <item name="StatusTextSize">13sp</item> 
        <item name="StatusButtonTextColor">#999999</item>
        <item name="StatusButtonTextSize">13sp</item>
        <item name="StatusButtonBackground">@drawable/status_loading_layout_button</item>

        <item name="StatusEmptyImage">@mipmap/empty</item>
        <item name="StatusEmptyText">暂无数据</item>
        <item name="StatusErrorImage">@mipmap/error</item>
        <item name="StatusErrorText">无网络连接,请检查您的网络...</item>
        <item name="StatusRetryText">加载失败,点击重试~~</item>
        <item name="StatusLoadingText">正在加载...</item>
    </style>

用法一:在布局中使用

 <lzhs.com.StatusView
        android:id="@+id/mStatusView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="这个是内容视图" />
    </lzhs.com.StatusView>
 

用法二:包裹并替换内容元素

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    // ...
    
    mStatusView = StatusView.wrap(this); 
    mStatusView.showContent(); 
    
    // ...
}

API

// 显示 content/loading/empty/error 布局
showContent()
showLoading()
showEmpty()
showError()

// 设置 loading/empty/error 布局
setLoading(int resId)
setEmpty(int resId)
setError(int resId)

// 设置空布局的图片与文本
setEmptyImage(int resId)
setEmptyText(String value)

// 设置错误布局的图片与文本,
setErrorImage(int resId)
setErrorText(String value) 

// 设置重试按钮文本
setRetryText(String value)

// 设置重试按钮的监听回调
setRetryListener(OnClickListener listener)

属性

<declare-styleable name="StatusView">
        <!-- 空布局资源id -->
        <attr name="StatusEmptyResId" format="reference"/>
        <!-- 加载中布局资源id -->
        <attr name="StatusLoadingResId" format="reference"/>
        <!-- 错误布局资源id -->
        <attr name="StatusErrorResId" format="reference"/>

        <!-- 空布局展示图片 -->
        <attr name="StatusEmptyImage" format="reference"/>
        <!-- 空布局展示文本 -->
        <attr name="StatusEmptyText" format="string"/>

        <!-- 错误布局图片 -->
        <attr name="StatusErrorImage" format="reference"/>
        <!-- 错误布局文本 -->
        <attr name="StatusErrorText" format="string"/>
        <!-- 错误布局重试按钮文本 -->
        <attr name="StatusRetryText" format="string"/>

        <!-- 加载布局文本 -->
        <attr name="StatusLoadingText" format="string"/>

        <!-- 文本颜色 -->
        <attr name="StatusTextColor" format="color"/>
        <!-- 文本尺寸 -->
        <attr name="StatusTextSize" format="dimension"/>

        <!-- 按钮文本颜色 -->
        <attr name="StatusButtonTextColor" format="color"/>
        <!-- 按钮文本尺寸 -->
        <attr name="StatusButtonTextSize" format="dimension"/>
        <!-- 按钮背景 -->
        <attr name="StatusButtonBackground" format="reference"/>

    </declare-styleable>

提问以及反馈

GitHub 地址
QQ 邮箱:1050629507@qq.com
有问题,请反馈到邮箱,我将第一时间反馈

相关文章

  • StatusView 多功能状态控件

    StatusView 多功能状态控件 简单实用的页面多状态布局(content,loading,empty,err...

  • 把视图放到StatusBar上面

    window有一个属性windowLevel 初始化statusView,可在其上添加控件 这样该window就会...

  • android多状态页面切换

    StatusView 介绍 可以帮助android开发者减轻多种状态页面切换的代码量,如NoNetwork、Err...

  • 基础 (十) : UIView常见属性

    如何修改控件状态 如何修改控件的状态呢?方法很简单: 每一个UI控件都是一个对象 修改UI控件的状态,其实就是修改...

  • Flutter中StatefulWidget控件状态管理的两种方

    Flutter 有两种状态控件:StatelessWidget、StatefulWidget,对于有可变状态控件的...

  • Flutter学习--组件的状态管理

    Flutter 有两种状态控件:StatelessWidget、StatefulWidget,对于有可变状态控件的...

  • BSYAlertBox

    今天公司任务量比较少,所以自己封装了一个提示弹窗控件BSYAlertBox,它是一款多功能提示控件,支持居中/居左...

  • 常用控件搜集

    ** 1.ios-charts:一个强大的iOS图表框架** ** 2.LMReport:多功能报表控件,支持...

  • UIControl

    控件的状态 控件内容的对齐方式 监听方法

  • 自定义 View - 基础

    虽然安卓系统自带了许多功能丰富,种类多样的控件,但是要想完全实现各个场景中,UI 给出的炫酷效果,这些控件却是远远...

网友评论

      本文标题:StatusView 多功能状态控件

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