element tree不刷新视图_安卓从入门到进阶第五章(视图查看)
安卓学习过程中,很多时候需要查看视图,去定位问题,通过找寻的节点,进行代码检索,最终定位到流程,进行修改,分析源码。
今天我们就来说说如何查看一个界面的视图。看不到进程,说明你用的不是eng版本,或者你的app不是调试版本。
(系统开发,不用eng版本,你怎么发挥工具强大的能力)
1我们使用Android Studio自带的工具:
在菜单栏Tools ->Android -> Layout Inspector 打开即可
在打开后,选择当前打开的界面(这里我打开了图库,我们就看下图库的界面)
选中 com.android.gallery3d,点击确定就会出来当前界面的视图信息。
1是ViewTree ,通过这个可以看到xml的对应布局信息,点击各个View,在2上面会显示出来对应View的区域,3会显示这个View的对应属性,绘制信息。
通过点击1或者2的对应位置,找到你所关注的View,通过3的显示,找到属性信息,比如text 和id信息
如此可以分析这个界面的所有View的信息,然后通过一些特征信息(text id 或者自定义的view类型等等),去检索代码,找到代码位置,进行调整修改。
2 Sdk\tools\bin的uiautomatorviewer.bat
试用了下,没有显示出来界面,只有视图列表信息。这个我平时也不用,就不做深入研究为什么不出来界面了。
3 我们的主角,我平时用的最多的工具hierarchyviewer。虽然怀旧,但是经典。
从网上下载adt-bundle-windows-x86_64-20140702 开发包,sdk\tools\hierarchyviewer.bat 运行起来。
这里显示的信息,是window的title信息,我们可以看到状态栏和虚拟按键的window也显示了出来。
DockedStackDivider 这个是分屏的那个view,通过代码搜索这个title,就能找到代码位置。
通过目录树,可以知道这个是在SystemUI的源码里面。
我们这里就看下GalleryActiivty的视图。选中这个,点击Load ViewHierarchy进入界面。
1 大视图的view信息,可以拖动寻找你要的界面,双击会出现对应的视图界面。
2 小视图的view信息,可以快速点击选中一个区域,然后使用1去寻找目标view。
3选中的view的相关信息。
4 整体视图显示,可以勾选show extras,显示更多信息。
5 放大缩小区域,20%-200%,还可以使用id进行搜索
6 回到主界面,重新选择界面。
我们一般借用这个界面去定位我们的目标view,使用的方式是,从左向右查找,从父类快速的收敛,定位目标View的位置。
通过定位到View之后,我们双击这个view
这里可以操作上面的On White或者On Black 这个是用来设定背景色的。通过选择黑色白色,可以查看这个View是否真的有背景色。
如果选中白的,界面显示为白,选中黑的,显示黑,意味这个view背景是透明的。这个为方便定位颜色到底是哪个父类设定的,很方便。
这里我们再来看看上面的菜单:
这边常用的就是Profile Node,点击后界面很多view下面出现三个点,这个从左到右便是,测量,布局,绘制所耗的时间。红点和黄点表示速度慢,而蓝绿则相对好一些。
不知你学会了吗?希望课后大家能够实际使用起来,多看看它的属性信息,那里可以看到布局信息,是否绘制,是否透明,主题的信息,都是帮助我们定位问题的方式。
—————END—————
element tree不刷新视图_安卓从入门到进阶第五章(视图查看)相关推荐
- element tree不刷新视图_不懂Linux Device Tree,被新人嘲笑之后,含泪写完
1 前言 关于设备树,之前就已经接触过很久了,但是本着够用的原则,基本上都是看着文档CRUD,处于一种不求甚解的状态,没有进行全面性的总结,导致很多知识点都是比较碎片状,没有形成一个系统的知识网络,最 ...
- element tree不刷新视图_我不告诉你的话,你不会知道iPad原来也有这么多窍门,学起来...
现在很多有条件的人,在给自己配备了手机电脑之后,还喜欢配多一部平板电脑作为休闲娱乐用,人们最常入手的平板产品,就是苹果的iPad了.现在除了拿来日常煲剧.玩玩游戏,iPad也被越来越多人拿来办公,存在 ...
- element tree不刷新视图_随手“一片”SCI,Qiime2扩增子处理流程确定不了解一下?(一)...
文章目录 conda安装qiime2 导入数据 制作Manifest和Metadata表 Import数据 查看原始数据质量 DADA2去噪.去嵌合体和生成OTU 构建进化树 绘制稀释曲线 计算物种多 ...
- 安卓从入门到进阶第六章(dumpsys初探)
后续还是会写一写关于安卓的知识,只是写的就按照轻快,实战为主,不做过多原理的剖析了.今天就来处理一个问题, 如何快速定位当前手机屏幕上某个区域上是哪个应用绘制的? 如下为解决方案: 使用 adb sh ...
- element tree不刷新视图_Vue项目布署后,刷新页面404的真正原因找到了
从一篇日记说起 我是一个小前端,我有写日记的习惯 2020年10月17 天气 晴 今天天气不错,心情也跟着好起来了 辛辛苦苦加班两个星期终于完成了产品需求,到了要上线的时候了,嘴里也不知不觉哼起了&q ...
- element tree不刷新视图_00后都开始找工作了,这些都不懂还聊个啥?
大家好,我是小跟班! 进来的同学自己找位置坐下, 我要开始给大家科普了. 不知道时候开始, 连95后们都变成了00后眼中的"老年人"... 一声声"叔叔阿姨", ...
- element tree不刷新视图_BIM小技巧001 | Revit如何在平面视图中看见新增的标高?
软 件 小 技 巧 | foreword 前 言 很多小伙伴在学习BIM软件的时候多多少少会遇到软件功能不熟悉.不理解.网上文字教程复杂难懂的情况,那么小编通过筛选整合网络资源.书本知识点.工作实 ...
- 安卓从入门到进阶第九章(自动亮屏)
安卓从入门到进阶第六章(dumpsys初探) 我希望文章是给出一个思路,让你能够跟着这个,找到框架,然后自行分析,总结,得到知识. 阅读代码,是需要长时间的训练,从问题出发,就跟从项目出发一样,在实战 ...
- dt测试软件的学习心得,无线网络优化dt测试心得_适合新手入门,高手进阶_5年项目经验实战经验.docx...
无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 无线网络优化DT测试心得_适合新手入门,高手进阶_5年项目经验实战经验 路测中不常见的问题和个人心得 1.深井子镇投诉测试报告 ...
- Python编程从入门到实践第五章部分习题
Python编程从入门到实践第五章部分习题 5-8 5-9` names = ['admin','zhang','li','zhao','song'] for name in names:if nam ...
最新文章
- 转载 - sql分页优化
- 【C#】第3章学习要点(三)--常用类和结构的用法
- 计算机中丢失sense3.dll,sense3.dll
- 关于JQUery.parseJSON()函数的知识札记
- android进程间通信:使用AIDL
- 【渝粤题库】陕西师范大学164204 供应链与物流管理 作业
- 手把手教你用好LINQ to SQL(1)
- 计算机文本处理竞赛题目,文字处理竞赛题目(word2010).pdf
- LeetCode:砖墙【554】
- js正则表达式验证密码
- 使用VS 2019,.NET Core 3和Web API创建ASP.NET Core Blazor CRUD应用程序
- Hive SQL中的concat、concat_ws、concat_group列转行,行转列
- HighCharts:隐藏最下方logo
- 计算机科学的方法论有三个过程,计算机科学与技方法论3.ppt
- 浏览器打开页面的几种方式
- MME连几个eNB的问题
- C语言程序设计会员计费系统,C语言课程设计酒店房间登记与计费管理系统总结报告...
- RLException: [xx.launch] is neither a launch file in package [x] nor is [x] a launch file name的解决方法
- 如何进行SYN攻击防范
- 给大家分享一款由PHP+MYSQL搭建的外卖小程序源码
热门文章
- 数学建模:传染病模型
- 《HBase权威指南》读书笔记4
- 分享Web前端性能优化的实用技巧
- 测试声音延迟的软件,“Latency Test”详细操作流程,一款测试TWS耳机延迟的软件...
- 数学建模题目及答案matlab,MATLAB数学建模习题.doc
- FOC电机控制之SVPWM原理与实现
- java8 垃圾回收算法_Java垃圾回收机制算法详解
- sqlyog注册码激活
- account.php,account.php
- 装机员PE工具(UEFI+UD双启动)+装机员系统合集(Win 7+Win 10)