精华内容
下载资源
问答
  • 使用Android Studio分析App程序Activity的Layout布局
    2021-06-03 00:10:26

    S&PS Solution Tips

    主题

    使用Android Studio分析App程序Activity的Layout布局

    适用范围

    ? ?

    Android Mobility Android Studio

    解决方案

    在Android Studio中,通过Hierarchy工具,可以查看App程序Activity的Layout布局情况。 可以方便我们:

    ? 分析和解决App程序一些界面UI的bug。

    ? 了解和学习其他App程序界面UI设计和开发的思路。

    1、在Android Studio打开Tool——Android——Android Device Monitor。

    2、连接上设备(模拟器),打开“Dump View Hierarchy for UI Automator”。

    1 | Page

    S&PS Solution Tips

    3、这时Android Studio将会打开新窗口,可以看到当前设备打开页面上的布局图示。新窗口由3部分组成:

    第1部分为当前页面的缩略图示。

    第2部分是当前页面的Layout布局解析。

    第3部分为选择的界面Layout或控件元素的属性。

    点击第1部分的Layout元素,第2部分会把焦点切换到对应的元素上。同理,点击第2部分的元素,也会触发第1部分的对应元素。

    2 | Page

    S&PS Solution Tips

    4、将鼠标停留在标题上,可以看到当前的布局信息已被生成在一个临时文件。通过访问该文件路径,可以将布局信息文件保存,在其他电脑导入打开。方便将信息保留和分享。 注意:布局信息文件由两个文件组成,一个为uix文件,一个为png图片文件。

    3 | Page

    S&PS Solution Tips

    5、在其他电脑导入布局信息方法如下:

    在“Android Device Monitor”打开File——Open File。

    选择uix文件,打开。

    这时打开了uix,会提示点击“Specify Screenshot”。

    4 | Page

    更多相关内容
  • 基于Android Studio的APP页面布局研究.pdf
  • 我们在Android开发中,如果出现了页面打开时间慢,该如何分析解决呢? 其实有很多原因可以导致页面打开慢,例如cpu占用过高、主线程进行耗时任务、布局复杂、布局层级过深等,其中最常见的就是布局问题了,我们重点...

    概述


    我们在Android开发中,如果出现了页面打开时间慢,该如何分析解决呢?

    其实有很多原因可以导致页面打开慢,例如cpu占用过高、主线程进行耗时任务、布局复杂、布局层级过深等,其中最常见的就是布局问题了,我们重点来看如何解决布局相关的性能问题。

    那么,布局有问题为什么会导致页面打开慢、卡顿等问题呢?这是因为,页面视图从准备阶段直到显示到屏幕上,要经历3个主要过程:测量、布局、绘制,复杂的视图布局或者层级过深等,都会导致这3个过程耗时过长,从而导致了性能问题。

    我们如何来查看布局层级以及复杂度呢?有没有工具呢?

    这个问题google当然也想到了,并且为我们提供了相应的开发工具:Hierarchy Viewer,它可以很方便的查看当前显示页面的布局以及视图的父子关系。

    Hierarchy Viewer是Android Device Monitor中内置的一种工具,可让您测量布局层次结构中每个视图的布局速度。

    但是,Hierarchy Viewer现在已被弃用。如果你使用的是Android Studio 3.1或更高版本,则应在运行时改用Layout Inspector来检查应用的视图层次结构。

    接下来我们来看如何使用Layout Inspector工具(布局检查器)。

    Layout Inspector工具


    使用Android Studio中的布局检查器(Layout Inspector工具),你可以将应用布局与设计模型进行比较、显示应用的放大视图或3D视图,以及在运行时检查应用布局的细节。如果布局是在运行时(而不是完全在 XML 中)构建的并且布局行为出现异常,该工具会非常有用。

    打开布局检查器

    1. 首先我们要打开要运行的APP,并且打开要检查的页面,这里注意,APP必须是Debug版本的。如果使用真机,确保真机已连接Android Studio。
    2. 依次点击 Tools > Layout Inspector,即可打开布局检查器。

    在图中1的位置,点击并选择视图所在的进程,即可进行分析了。

    使用

    如图所示,布局检查器将显示以下内容:

    1. Component Tree:布局中视图的层次结构。
    2. Layout Display:按照应用布局在设备或模拟器上的显示效果呈现布局,并显示每个视图的布局边界。
    3. 布局检查器工具栏:布局检查器的工具。
    4. Attributes:所选视图的布局属性。

    选择视图

    如要选择某个视图,请在 Component Tree 或 Layout Display 中点击该视图。所选视图的所有布局属性都会显示在 Attributes 面板中。

    如果布局包含重叠的视图,您可以选择不在前面的视图,方法是在 Component Tree 中点击该视图,或者旋转布局并点击所需视图。

    隔离视图

    如要使用复杂的布局,你可以隔离各个视图,以便只有布局的一部分显示在 Component Tree 中并呈现在 Layout Display 中。

    如要隔离某个视图,请在 Component Tree 中右键点击该视图,然后选择 Show Only Subtree 或 Show Only Parent。

    如需返回完整视图,请右键点击该视图,然后选择 Show All。

    如图:

    隐藏布局边框和视图标签

    如需隐藏布局元素的边界框或视图标签,请点击 Layout Display 顶部的 View Options 图标 实时布局检查器视图选项图标(眼睛图标),然后切换 Show Borders 或 Show View Label。

    3D 可视化

    Layout Display 可在运行时对应用的视图层次结构进行高级 3D 可视化。如需使用该功能,只需在实时布局检查器窗口中点击相应布局,然后拖动鼠标旋转该布局即可。

    将当前布局与参考图片叠加层进行比较

    我们还可以将当前布局与参考图片叠加层进行比较(例如与UI效果图进行对比)。

    操作步骤:

    1. 如需加载叠加层,请点击布局检查器顶部的 Load Overlay 图标 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传。系统会缩放叠加层以适合布局。
    2. 如需调整叠加层的透明度,请使用 Overlay Alpha 滑块。
    3. 如需移除叠加层,请点击 Clear Overlay 图标。

    小结

    本节我们学习了如何使用布局检查器进行布局的分析。

    今后分析由布局产生的视图性能问题将会非常简单拉~


    PS:性能优化专栏:《Android性能》持续更新中……

    展开全文
  • 六大基本布局布局可以理解为画布),View(主件)被ViewGroup(主件的群)所继承。 按键,文本等都是放在布局上的 二、具体实现 默认用的是相对布局 RelativeLayout 布局,格式 布局,文本框,按键 <...

    一、简述

    • 六大基本布局(布局可以理解为画布),View(主件)被ViewGroup(主件的群)所继承。
    • 按键,文本等都是放在布局上的
      在这里插入图片描述

    二、具体实现

    • 默认用的是相对布局 RelativeLayout
    • 布局,格式
      布局,文本框,按键
    <RelativeLayout 代码内容,设置相关参数>  //开头 
    </RelativeLayout>   //结尾 多了一个/
    
    <TextView	//文本框
    	/>
    
    <Button 	//按键
    	/>
    
    • 代码意思
      每个布局都有的3句,背景,宽,高,id
    xmlns:android="http://schemas.android.com/apk/res/android"	//版本
    xmlns:tools="http://schemas.android.com/tools"	//工具位置
    tools:context=".MainActivity" 
    
    android:background="#ff0000"	//布局背景,可以是颜色,可以是图片
    android:background="@drawable/bx1"	//图片放在res下的drawable-hdpi 高分辨率
    
    android:layout_width="500dp"	//宽,match_parent跟屏幕一样宽,wrap_content图片有多大就显示多大
        
    android:layout_height="200dp"	//高,match_parent跟屏幕一样高
    
    android:id="@+id/bx1"	//创建id
    android:layout_below="@id/bx1"	//显示在bx1的下面
    

    三、代码演示

    • 一个布局下放文本框和按键
      在这里插入图片描述
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="500dp"
        android:layout_height="200dp"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:background="#ff0000"	
        tools:context=".MainActivity" >
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="小伟" android:id="@+id/textView1"/>
        <Button android:id="@+id/button1"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Button" 
            android:layout_below="@+id/textView1" 
            android:layout_centerHorizontal="true" 
            android:layout_marginTop="38dp"/>
    
    </RelativeLayout>
    
    • 显示2张图片,一个大布局下放2个小布局,布局1创建id,布局2显示在布局1的下方(不创id,会盖住,只显示出来一个图)
      在这里插入图片描述
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" >
    
        <RelativeLayout 
            android:id="@+id/bx1"
            android:layout_width="match_parent"
        	android:layout_height="400dp"
        	android:background="@drawable/bx1"
            ></RelativeLayout>
        
        <RelativeLayout 
            android:layout_below="@id/bx1"
            android:layout_width="match_parent"
        	android:layout_height="400dp"
        	android:background="@drawable/bx2"
            ></RelativeLayout>
    
    </RelativeLayout>
    

    师承上官可编程 —— 陈立臣

    展开全文
  • 主要介绍了Android中使用GridLayout网格布局来制作简单的计算器App的实例,GridLayout比表格布局TabelLayout更容易用来制作计算器这样的多按钮排列的界面,需要的朋友可以参考下
  • Android 界面布局

    2021-01-03 21:04:24
    上次介绍了一个Android App项目的文件结构以及各个文件的大致含义,本篇主要介绍Android的界面布局(Layout)。Android界面布局的目的是为了合理利用屏幕空间,并能适配多种屏幕。我们可以利用布局来设计各个控件的...
  • Android 查看app布局

    千次阅读 2022-03-15 14:25:58
    AndroidSdk 双击

    AndroidSdk

    双击

     

    展开全文
  • Android Studio查看其它APP布局结构

    千次阅读 2021-06-03 01:36:04
    概述日常使用别家的APP过程中,会遇到一些比较好看的布局,这时候我们就想学习一下别人的布局结构,以便参考。(1)手机连接电脑、设置手机为USB调试模式(2)运行Android Studio,打开 Tools--Android--Android Device ...
  • 日常开发过程中,难免会遇到一些比较好看的布局,这时候我们就想学习一下别人的布局...下面来演示一下怎么用android studio查看别的app布局,以美团为例: 第一步: 运行android studio,打开 tool/android/androi...
  • App布局层级分析和渲染 前沿 关于布局分析的文章,网上太多Hierarchy Viewer相关的文章,但是现在Aandroid Studio 都更新到3.6.X了,这个工具早废弃了,能够真正有用的文章少之又少,所有才有了本篇的文章,使用最新...
  • 1.android:numColumns=”auto_fit” //GridView的列数设置为自动 2.android:columnWidth=”90dp ” //每列的宽度,也就是Item的宽度 3.android:stretchMode=”columnWidth”//缩放与列宽大小同步 4.android:...
  • 仿京东、天猫app的商品详情页的布局架构, 以及功能实现
  • UI界面就是APP的界面,Android提供4种方法控制UI界面,这里主要讲两种。 代码控制UI界面 直接在Activity中用代码设置UI界面的组件以及组件的点击事件。 步骤一: 首先注意,如果要完全用代码手写一个UI界面,需将...
  • 在做android UI布局时,用了LinearLayout嵌套,发现效果并不如我预料一般 查了下资料,说是要设置layout_weight属性 资料说得不是很清楚,也没仔细看,就去弄,结果越弄越混乱。 于是静下心来,自己写xml测试,发现...
  • 老套路先上图: 老版本和新版本查看方法不一样,我这个是4.1的版本。...选择查看app布局的进程即可 总结: 菜单栏选择Tools-LayoutinSpector然后选择要查看app的进程即可 在此感谢此博主提供方法:博主链接 ...
  • 本文实例讲述了Android Appwidget用法。分享给大家供大家参考,具体如下: App Widgets 是一个小型应用程序的View 他可以嵌入到其他应用程序中(如 桌面程序) 并且可以得到周期性刷新。 在创建App Widget之前需要...
  • 在之前,学习UI设计的时候,经常要接触到页面的布局布局的方式会直接影响一个APP的视觉效果,好的布局方式,往往能带来舒服的视觉效果,更能得到用户的接受与好评。今天,25学堂跟大家来看下四种常见的APP分类界面...
  • 主要介绍了Android App的相对布局RelativeLayout,文中举了一个登录界面的XML布局例子,非常直观,需要的朋友可以参考下
  • 主要为大家详细介绍了Android实现京东App分类页面效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 安卓APP开发之界面布局

    千次阅读 2022-02-24 14:55:11
    这里写目录标题页面布局类型RelativeLayout中的子控件常用属性1、相对于父控件2、相对给定Id控件3、居中安卓中的基础控件 页面布局类型 相对布局结构: < RelativeLayout > < TextView /> < /...
  • 推荐几款好用的android安卓app消息推送三方库.zip
  • 对于安卓系统应用开发中界面的布局有五大类,分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、AbsoluteLayout(绝对布局)、TablelLayout(表格布局)、RelativeLayout(相对布局)。其中最常用的的是LinearLayout...
  • 本次项目实现了一个聚合新闻APP,通过调用第三方API获得新闻数据并显示。具有十几个页面,底部导航栏,数据库,滑动页面等。主要功能就和我们平时使用的今日头条类似,具有头条、社会、国内、国际、娱乐、健康等十几...
  • 要想让您的控件水平居中或垂直居中其实很简单,只要在控件的上一级中设置【android:gravity=”center”】属性即可 如: <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:...
  • 因为页面内容高度会超出屏幕,所以用Scrollview实现滚动,悬浮view与scrollview同级,都在一个帧布局或者相对布局中。 当y方向的滚动距离小于中间的内容middleView到顶部的距离时,middleView理所当然的
  • 1、有UI界面,包括菜单、对话框、列表、按钮、通知等内容,布局合理美观。。 2、后台使用SQLite数据库进行存储,实现文字、图片存储;实现增、查、删功能。
  • AppWidgetProviderInfo对象,它为App Widget提供元数据,包括布局、更新频率等等数据,这个对象不是由我们自己生成的,而是由android自己定义配置完成,这个对象被定义在XML文件中 1、定义AppWidgetProviderInfo对象...
  • 主要介绍了Android桌面插件App Widget用法,结合实例形式分析了桌面插件App Widget的功能、布局、创建及使用方法,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 239,730
精华内容 95,892
关键字:

安卓布局分析app