Skip to content

Repository files navigation

LoadView

android loadview是一个可以灵活自定义并且可以结合第三方动画解耦的库,使用起来也是超级方便

演示

  • 这里除了默认loading动画,还集成了第三方动画库作为演示,比如很火的lottie-android,还有其他比较优秀的动画,比如LoadingView,详情见demo

下载demo

使用

android studio

implementation 'com.gyf.loadview:loadview:1.0.7'

用法

简单用法

  • 使用一,默认加载Loading是ProgressBar圆形样式,可以通过属性修改颜色,默认是colorAccent颜色,如果想使用其他Loading样式请看使用二
 <com.gyf.loadview.LoadView
android:id="@+id/load_view"android:layout_width="match_parent"android:layout_height="match_parent"app:load_image_height="100dp"app:load_image_width="100dp"app:load_loading_height="100dp"app:load_loading_width="100dp"app:load_current_status="undo"/>
  • 使用二

在xml中自定义loading样式

 <com.gyf.loadview.LoadView
android:id="@+id/load_view"android:layout_width="match_parent"android:layout_height="match_parent"/>
<!--自定义loading动画,可以自定义为任何控件,也支持第三方动画库-->
<ProgressBarandroid:layout_width="wrap_content"android:layout_height="wrap_content" />
</com.gyf.loadview.LoadView>

在java中自定义loading样式

loadView.setLoadingView(newProgressBar(this));

或者

loadView.setLoadingView(R.layut.你的布局id);
  • 使用三
LoadViewloadView = newLoadView(this);
addView(loadView);

高级用法

  • 使用LoadManager自定义LoadView全局样式(LoadManager还有很多方法,请参考LoadManager类,这里就不一一举例了)
LoadManager.getInstance().setEmpty("空的数据",R.mipmap.empty) //自定义加载为空,展示的样式
.setFail("失败了",R.mipmap.fail); //自定义加载失败,展示的样式
  • LoadView状态和方法监听

    设置当前状态

    loadView.setCurrentStatus(LoadStatus.UNDO); //默认值loadView.setCurrentStatus(LoadStatus.LOADING); //加载中loadView.setCurrentStatus(LoadStatus.FAIL); //加载失败loadView.setCurrentStatus(LoadStatus.ERROR_NET); //网络错误loadView.setCurrentStatus(LoadStatus.EMPTY); //数据为空loadView.setCurrentStatus(LoadStatus.SUCCESS); //加载成功

    设置加载失败监听

    loadView.setOnFailClickListener(newLoadView.OnLoadFailClickListener() {
    @OverridepublicvoidonLoadFailClick() {
    // do something,比如获取数据等
    }
    });

    设置网络错误监听

    loadView.setOnErrorNetClickListener(newLoadView.OnLoadErrorNetClickListener() {
    @OverridepublicvoidonLoadErrorNetClick() {
    // do something,比如设置网络或者获取数据等
    }
    });

    设置数据为空点击事件

    loadView.setOnEmptyClickListener(newLoadView.OnLoadEmptyClickListener() {
    @OverridepublicvoidonLoadEmptyClick() {
    // do something,比如重新获取数据等
    }
    });

    设置加载中监听

    loadView.setOnLoadingListener(newLoadView.OnLoadingListener() {
    @OverridepublicvoidonLoadingStart(ViewloadingView) {
    //加载开始时,比如引用第三方动画库,开启动画等操作
    }
    @OverridepublicvoidonLoadingEnd(ViewloadingView) {
    //加载结束时,比如引用第三方动画库,关闭动画等操作
    }
    });
  • LoadView属性和方法介绍

    xml属性java方法说明
    load_current_statussetCurrentStatus()设置当前loadView的状态
    load_image_widthsetImageViewSize()设置图片的大小
    load_image_heightsetImageViewSize()设置图片的大小
    load_loading_widthsetLoadingViewSize()设置Loading的大小
    load_loading_heightsetLoadingViewSize()设置Loading的大小
    load_clickableisLoadClickable()焦点是否在LoadView中
    load_loading_clickableisLoadingClickable()设置加载中,焦点是否在LoadView中
    load_fail_clickableisFailClickable()设置加载失败,焦点是否在LoadView中
    load_error_net_clickableisErrorNetClickable()设置加载网络错误,焦点是否在LoadView中
    load_empty_clickableisEmptyClickable()设置加载数据为空,焦点是否在LoadView中
    load_gravitysetGravity()设置布局的位置
    load_loading_gravitysetLoadingGravity()设置Loading布局的位置
    load_image_text_gravitysetImageTextGravity()设置图片和文字布局的位置
    load_marginsetMargins()设置布局的左右上下边界值,单位px
    load_margin_left设置布局的左边界值,单位px
    load_margin_top设置布局的顶部边界值,单位px
    load_margin_right设置布局的右边界值,单位px
    load_margin_bottom设置布局的底部边界值,单位px
    load_loading_marginsetLoadingMargins()设置Loading布局的左右上下边界值,单位px
    load_loading_margin_left设置Loading的左边界值,单位px
    load_loading_margin_top设置Loading的顶部边界值,单位px
    load_loading_margin_right设置Loading的右边界值,单位px
    load_loading_margin_bottom设置Loading的底部边界值,单位px
    load_image_text_marginsetImageTextMargins()设置ImageText布局的左右上下边界值,单位px
    load_image_text_margin_left设置ImageText的左边界值,单位px
    load_image_text_margin_top设置ImageText的顶部边界值,单位px
    load_image_text_margin_right设置ImageText的右边界值,单位px
    load_image_text_margin_bottom设置ImageText的底部边界值,单位px
    load_image_marginsetImageMargins()设置Image布局的左右上下边界值,单位px
    load_image_margin_left设置Image的左边界值,单位px
    load_image_margin_top设置Image的顶部边界值,单位px
    load_image_margin_right设置Image的右边界值,单位px
    load_image_margin_bottom设置Image的底部边界值,单位px
    load_text_marginsetTextMargins()设置Text布局的左右上下边界值,单位px
    load_text_margin_left设置Text的左边界值,单位px
    load_text_margin_top设置Text的顶部边界值,单位px
    load_text_margin_right设置Text的右边界值,单位px
    load_text_margin_bottom设置Text的底部边界值,单位px
    load_text_failsetFailText()设置加载失败文字
    load_text_error_netsetErrorNetText()设置加载网络错误文字
    load_text_emptysetEmptyText()设置加载为空文字
    load_image_failsetFailRes()设置失败的图片资源
    load_image_error_netsetErrorNetRes()设置网络错误的图片资源
    load_image_emptysetEmptyRes()设置无数据的图片资源
    load_text_colorsetTextColor()设置文字的颜色
    load_text_color_failsetFailTextColor()设置失败展示的字体颜色
    load_text_color_error_netsetErrorNetTextColor()设置网络加载错误展示的字体颜色
    load_text_color_emptysetEmptyTextColor()设置数据为空展示的字体颜色
    load_text_sizesetTextSize()设置字体大小,单位sp
    load_image_colorsetImageColor()设置图片的颜色
    load_image_color_failsetFailImageColor()设置失败图片的颜色
    load_image_color_error_netsetErrorNetImageColor()设置网络错误图片的颜色
    load_image_color_emptysetEmptyImageColor()设置数据为空图片的颜色
    load_image_color_enabledsetImageColorEnabled()设置是否可以修改图片的颜色
    load_image_color_fail_enabledsetFailImageColorEnabled()设置是否可以修改失败图片的颜色
    load_image_color_error_net_enabledsetErrorNetImageColorEnabled()设置是否可以修改网络错误图片的颜色
    load_image_color_empty_enabledsetEmptyImageColorEnabled()设置是否可以修改数据为空图片的颜色
    load_default_loading_colorsetDefaultLoadingColor()设置默认的loading的颜色

混淆

About

android load view

Topics

Resources

Stars

29 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages