天天看点

android 加载视图资源,自定义View加载视图之LoadingLayout

Android 自定义 View加载视图之 LoadingLayout,上一篇博文写了一个通用的加载view,这篇在加载view的基础在包裹一层就是LoadingLayout了,主要的目的是免去每次加载时要隐藏主内容布局,然后加载成功之后显示主内容布局这些繁琐操作。实现原理很简单,就是LoadingLayout在包裹内容层的基础上,在代码里添加loadingView作为第二个子view,所以不做过多讲解,大家看完直接下载源码参考。

介绍

上一篇博文写了一个通用的加载view,这篇在加载view的基础在包裹一层就是LoadingLayout了,主要的目的是免去每次加载时要隐藏主内容布局,然后加载成功之后显示主内容布局这些繁琐操作。实现原理很简单,就是LoadingLayout在包裹内容层的基础上,在代码里添加loadingView作为第二个子view,所以不做过多讲解,大家看完直接下载源码参考。

LoadingLayout

This is a view for simplify the operation to loading

一个app加载数据通常是显示加载状态,加载成功之后显示主内容视图,如果是列表数据的话如ListView,GridView,RecyclerView一般就不用设置主内容视图隐藏了,

但是如果主视图有些控件如TextView会带效果而不是一片空白的,我们通常需要隐藏主视图,在请求到数据之后回填数据并显示主视图,而这些事情在代码里设置总是很麻烦,

该控件的目的就是为了简化这些步骤。

android 加载视图资源,自定义View加载视图之LoadingLayout

这里写图片描述

特点

1、使用简单,实现原理也简单。

2、支持自定义各种视图,只需要把你要显示的视图set进去即可

android 加载视图资源,自定义View加载视图之LoadingLayout

这里写图片描述

3、支持设置错误视图点击事件。

这里只是提供个思路,大家可以下载源码去修改成最适合你的view。

使用

1、xml里声明view,包裹在内容视图的外层。

2、Java代码里获取控件并在合适的时候调用加载,加载失败,加载成功等方法。

public class LoadingLayoutActivity extends AppCompatActivity { protected CommonLoadingLayout mLoadingLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.activity_loading_layout); mLoadingLayout = (CommonLoadingLayout) findViewById(R.id.loadingLayout); //设置错误视图点击重新加载事件 mLoadingLayout.setLoadingHandler(new CommonLoadingView.LoadingHandler() { @Override public void doRequestData() { mLoadingLayout.load(); mLoadingLayout.postDelayed(new Runnable() { @Override public void run() { mLoadingLayout.loadSuccess(); } }, 3000); } }); //模拟加载网络请求后出现错误 mLoadingLayout.load(); mLoadingLayout.postDelayed(new Runnable() { @Override public void run() { mLoadingLayout.loadError(); } }, 3000); }}

3、自定义加载、加载错误、等视图。

ProgressBar progressBar = new ProgressBar(this); this.mLoadingLayout.setLoadingView(progressBar); TextView textView = new TextView(this); textView.setText("加载失败..."); this.mLoadingLayout.setLoadingErrorView(textView); mLoadingLayout.load();

以上就是对于安卓开发方面的知识点简介,Android 自定义 View加载视图之 LoadingLayout,更多相关内容请继续关注拓胜科技安卓技术频道,或者需要了解拓胜安卓培训方面的问题,可以在线免费咨询拓胜教育老师。