Android View显示不出来、显示不全问题集锦,附各种调试工具

Android View显示不出来、显示不全问题集锦,附各种调试工具

新手入门,都会接触不少自定义View的需求,在进行自定义View的开发中,因为编程不规范,思考不完备总会踩各种坑,写代码一时爽,调bug火葬场,一运行APP,就会碰到View不显示,View显示不全,甚至直接crash。这里结合我在工作中遇到的一些实际问题,进行一下自我总结,也帮助开发者调试代码时进行查阅。

View不显示是有着多种多样的原因,就像引起人体头痛的原因也是多种多样的。

  1. 查看View和父容器的visibility是否在xml或代码中被设置为gone、invisible。
  2. 查看父容器的宽高是否被设置为0,或者其他同一层级的View使用了match_parent、指定了很大的宽高挤压了当前View或其父View。特别注意: 使用RelativeLayout、ConstraintLayout等相对布局时,需要考虑当前View或其父View是被“安排”到了屏幕外边。使用LinearLayout需要主要weight属性,是不是其他View挤走了当前View或其父View。
  3. View初始化的时候,没有attatch到父View上 。
    在这里插入图片描述
  4. View没有正确的塞数据,只有个空容器。
  5. 是否使用了动画移出屏幕外、设置了aplha值、跟背景色融合为一体了。
  6. U不展示,耐心是修复bug解决问题的前提。很多时候,我们调试好久,发现就是某个地方引用错了变量,导错了包。。。保持写完代码再过一遍的习惯,可以有效节省开发时间,避免许多bug。

工欲善其事必先利其器,在调试代码之前,首先我们需要事半功倍的调试利器,推荐以下几种工具

  1. 开发助手APP,如图1
    图1图1
    个人的最爱,使用“布局查看”功能,可以方便的调试页面元素。这个APP最大的好处是无需root兼容性好,但是是个付费App,Android开发者强烈安利。如图2,展示了调试知乎APP的Ui,可以方便的查看宽高、可见度、父子布局等信息。
    图2
    图2

  2. Android Studio自带的Layout Inspecter,在编译器右下角,位置如右图3。示意效果如图4。 可以方便查看布局信息,各个View的状态,大小,信息齐全。图3
    图3
    图4
    图4

  3. UiAutomatorViewer,SDK带的工具,位于Android SDK的目录下,\sdk\tools\bin\uiautomatorviewer。
    此处应有图,但是我的💻这个工具有问题,很少用它

  4. 如果是webView调试,强烈安利chrome的DevTool,在网址栏输入 chrome://inspect/#devices,如图5。可以直接在chrome中打开,甚至可以直接在 console中输入命令,调用前端的方法。在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值