当前位置:首页 > 开发 > 移动开发 > 正文

MultiStateView不同的状态下显示不同的界面

发表于: 2015-07-19   作者:gundumw100   来源:转载   浏览:
摘要: 只要将指定的view放在该控件里面,可以该view在不同的状态下显示不同的界面,这对ListView很有用,比如加载界面,空白界面,错误界面。而且这些见面由你指定布局,非常灵活。 PS:ListView虽然可以设置一个EmptyView,但使用起来不方便,不灵活,有点累赘。 <com.kennyc.view.MultiStateView xmlns:android=&qu
只要将指定的view放在该控件里面,可以该view在不同的状态下显示不同的界面,这对ListView很有用,比如加载界面,空白界面,错误界面。而且这些见面由你指定布局,非常灵活。

PS:ListView虽然可以设置一个EmptyView,但使用起来不方便,不灵活,有点累赘。

<com.kennyc.view.MultiStateView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/multiStateView"
    android:layout_width="match_parent"
    app:msv_errorView="@layout/error_view"
    app:msv_emptyView="@layout/empty_view"
    app:msv_loadingView="@layout/loading_view"
    app:msv_viewState="loading"
    android:layout_height="match_parent">
 
      <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:listitem="@android:layout/simple_list_item_1" />
 
</com.kennyc.view.MultiStateView>


MultiStateView可以设置的属性如下:
<attr name="msv_loadingView" format="reference" />
<attr name="msv_emptyView" format="reference" />
<attr name="msv_errorView" format="reference" />
<attr name="msv_viewState" format="enum">


msv_loadingView 加载效果的界面
msv_emptyView 空白界面
msv_errorView 错误界面
msv_viewState 当前的状态

要切换MultiStateView的状态只需调用:
public void setViewState(ViewState state)

获得状态
public View getView(ViewState state)


https://github.com/Kennyc1012/MultiStateView

MultiStateView不同的状态下显示不同的界面

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在不同状态下的StarterWare 应用程序独自从SPI闪存上的启动方式,如下图所示: 在状态一,系统重启
NSMutableAttributedString * sstring = [[NSMutableAttributedString alloc]initWithString:string
最近在做统计图的时候,碰到一个需求 类似如下: 就是在红色虚线框内的折线在不同区域用不同的颜色
Android的屏幕类型有几百种不同的尺寸,从小型的手机到大型的电视机。因此要使我们的应用程序兼容不
CSS+DIV+JS导航显示 平常大部分时间都在写后台代码。很少做前台界面的设计。这次,由于公司需要。做
AngularJS实现根据不同条件显示不同控件 由于项目需求,需要实现根据不同条件显示不同控件的功能。
项目需要,要在ExpandableListView中根据父类条目的位置对子类条目左右显示位置进行调整。 经过试验
能够设置链接样式的 CSS 属性有很多种(例如 color, font-family, background 等等)。链接的特殊性
在做APP时,经常会做到像设置界面,或表单填写这样的界面,实现的方式有多种,比如每一行用UIContro
在项目开发中,我们经常会遇到在这样一种情形:在一个UILabel 使用不同的颜色或不同的字体来体现字
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号