美文网首页Android架构移动开发技术我是程序员
客户端单一界面,显示多异常文案方法

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

作者: 我是限量版_HL | 来源:发表于2018-11-01 10:23 被阅读0次

    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 以设置图片的形式设置资源

    设置图片来调用资源

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

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

    原文连接

    多个异常文案显示方法

    相关文章

      网友评论

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

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