Android架构移动开发技术我是程序员

客户端单一界面,显示多异常文案方法

2018-11-01  本文已影响0人  我是限量版_HL

1. 前言

       在实际开发中,针对某一界面,我们有不同的显示需求:以app中的消息列表为例,在网络有问题的情况下,我们界面显示网络出现问题;在网络正常,但是没有消息数据的情况下,我们要求显示,没有消息。这是常规的异常显示案例。 但是,有时候为了减少Layout数量,我们不得不将一些异常情况都写在一个界面,这也是本文探究的主题。

2. 常用的添加异常布局方法

    通常,我们添加异常布局的方法,主要有两种:1. 在布局include异常界面  2. 将异常布局写在该布局中,同时设置Visiable=Gone,即可视性为不可见。然后在activity中,通过对异常控件的显示进行可视化控制。

2.1 include异常布局

include方法

2.2 将异常布局可视性是为Gone

设置异常布局

    然后在activity中,控制异常界面中对应控件的显示。

    以上两种方法都可以分别实现一种异常布局的显示,但是有没有一种方法可以分别不同显示两种异常布局呢?答案是可以的,将异常布局默认为网络异常情况,然后对于没有数据情况,进行处理。

3. 单布局实现多个异常布局

    下面我们对于这种方法进行探讨:

方法代码

    在上面的代码中,最重要的是这行,设置图片资源背景,通过加载无网络图片实现一个布局两种异常。

设置图片资源

    我们将异常情况图片,默认为没有数据图片,但是在判断有无网络后,通过图片设置,进行网络异常情况的设置,便可以实现,单一布局,显示多种异常文案的效果。

    但是提及到加载图片,就不得不说imageview设置资源图片问题。下面我们继续探讨这个问题。

4. Imageview设置资源图片

    提及ImageView设置资源图片,老生常谈的话题是图片变形问题和窗口适配问题。

4.1 以背景的形式进行设置图片

设置ImageView背景

    这种办法可以实现,单布局实现多个异常布局的需求。但是有一个前提

【注意】这种方法仅适用于两种异常显示切图长宽相近的情况,当长宽比不同时,会导致图像失真,过度变宽变长,影响显示。此时可以用include或者gone显示布局的办法,进行显示,毕竟前端业务,产品和UI是大爷。

4.2 以设置图片的形式设置资源

设置图片来调用资源

      这种方法不会导致图片失真,但是没有办法填充窗口,会导致没有办法覆盖之前的布局背景,因此实现不了上文的需求。

       好了,今天的分享就到这里,喜欢的同学可以关注我的专栏,我会定期更新我的专栏,和大家一起探讨移动端的技术,共同提高。

原文连接

多个异常文案显示方法

上一篇下一篇

猜你喜欢

热点阅读