您的位置:首页 > 其它

【工具使用】通过hierarchyview探寻flowlayout

2018-01-12 23:47 225 查看

前言

在开发过程中遇到了一个很熟悉的控件,但是我不知道它叫啥名字,并且也不知道该用什么样的语言去描述它。然而,我却在很多的应用中看到了它的身影,QQ音乐,YouTube等,如下图所示:

为了一探究竟,我猜想它属于RecyclerView,是RecyclerView的一种定制化。通过勾选
开发者选项
中的
显示布局边界
,得到QQ音乐的截图如下: 

看起来也挺像是一个高度定制了之后的RecyclerView,然后去搜索各种关于定制RecyclerView的博客,虽然没有得到很准确的答案,但是我收获到的东西有如下两件:RecyclerView可以通过设置
LinearLayoutManager.setOritention()
方法,来实现横向滑动,这种样式在很多其它的应用中也有发现。
对于一个应用,如果不知道它使用的是什么控件,可以通过Hierarchy View来进行查看。

关于Hierarchy View的使用

曲折

Hierarchy View一般在Android Studio的Tools->Android->Android Device Monitor中,打开后,选择添加,然后再选择Hierarchy View即可。 一开始拿着自己的小米手机,连上电脑,结果发现没有任何东西。网上查询了之后才知道,为了安全考虑,不是所有的Android手机都允许连接上Hierarchy View,一般是模拟器和开发版本的手机可以。当然也有使用真机连接Hierarchy View的教程,但是得不偿失,还是选择使用模拟器吧~ 使用模拟器还有一个问题,如果安装QQ音乐这种类型的应用,会安装失败,而且返回一条错误提示:
The APK failed to install.
Error: INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113
借用StackOverflow上面一个得票最高的一个回答:INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app that has native libraries and it doesn’t have a native library for your cpu architecture. For example if you compiled an app for armv7 and are trying to install it on an emulator that uses the Intel architecture instead it will not work.
Android手机的处理器架构一般是ARM,模拟器的大多数推荐使用的架构的是X86,因为支持X86的模拟器在X86处理器的PC上运行更快。虽然网上还是有在X86模拟器上面安装并运行此类应用的办法,但是我觉得那是属于玩机类型的事物,玩玩可以,实用可能还差一点。所以接下来就下载一个ARM架构的模拟器,在它上面装QQ音乐就?了。 但是,Android自带的模拟器运行速度实在是太慢了,结果出不来啊。不得不换成BlueStacks,最可笑的事情来了,在BlueStacks中,找了半天没找到开发者选项,心想完了,网上百度也没个说法,结果我随手点了一下运行,结果APK在BlueStacks中跑起来了!!!所以,BlueStacks默认就是开启了开发者选项的啊!!不需要找到那个开发者选项,然后把它打开。不需要这样啊!各位别再百度了

结果

在模拟器中打开到QQ音乐搜索的那个界面,然后再使用Hierarchy View来打开应用,黑黑的界面突然变亮了!这就是当前应用的当前所在界面的控件结构图,上面有每一个控件的名称。抱着试一试的心态,终于找到了一个控件,叫做
FlowLayout
,双击它之后,便打开了一张图片,上面显示的内容正是我所探寻是何控件构成的那个界面!如图:

为了这个FlowLayout,真是一路坎坷,但是在路上就是最好的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Hierarchy View
相关文章推荐