ICode9

精准搜索请尝试: 精确搜索
  • AndroidUI绘制流程2022-07-07 13:40:15

    基础知识-底层View对象 ViewParent ViewParent对应于ViewRootImpl类,是连接WindowManager和DecorView的纽带。View绘制三大流程都是通过它来完成的 DecorView ContentView的父容器 ViewRootImpl 在 ActivityThread 中,当 Activity 对象被创建完毕后,会将 DecorView 添加到 Window 中

  • setContentView源码分析2022-04-04 12:02:57

    当我们在Activity中调用setContentView,它到底做了什么呢 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } 我们跳转到AppCompatActivity的setContentView方法 @Override public

  • Android 启动优化(六)- 深入理解布局优化,字节跳动Android实习面试凉凉经2022-02-05 10:33:40

    代码编写的方式编写布局,我们可能想到使用 java 声明布局,对于稍微复杂一点的布局,这种方式是不可取的,存在维护性查,修改困难等问题。为了解决这个问题,github 上面诞生了一系列优秀的开源库。 litho X2C 为了即保留xml的优点,又解决它带来的性能问题,我们开发了X2C方案。即在编译

  • Android 面试官:简述一下 View 的绘制流程,这个都答不出来就别想拿Offer了2021-12-31 12:01:05

    1.2. Activity、Window、DecorView之间关系 首先来看一下Activity中setContentView源码: public void setContentView(@LayoutRes int layoutResID) { //将xml布局传递到Window当中 getWindow().setContentView(layoutResID); initWindowDecorActionBar(); } 从代码可以看出,A

  • Android高工面:Activity创建到View呈现中间发生了什么?子线程到底能不能更新UI2021-12-22 14:58:17

    } handleLaunchActivity()主要调用了两个方法:performLaunchActivity()和handleResumeActivity() performLaunchActivity:完成Activity的创建,以及调用Activity的 onCreate()和onStart()方法。 handleResumeActivity:调用Activity的onResume()方法,处理View的呈现。 performLau

  • Android中AppCompatActivity的setContentView方法分析2021-10-24 13:01:02

    PS:本文系转载文章,阅读原文可读性会更好些,原文链接:https://mp.weixin.qq.com/s/uTBv_evqvpetO0F8pWXY1Q ps:源码是基于 android api 27 来分析的 前面写了一篇Android中Activity的setContentView方法分析,这一篇打算写对 AppCompatActivity 的setContentView 方法进行分析,AppCom

  • 认识Android中的ViewRootImpl和DecorView2021-10-16 14:01:05

    PS:本文系转载文章,阅读原文可读性会更好些,原文链接: https://mp.weixin.qq.com/s/EGFHW7URuIv0HqwZWt09sg ps:源码是基于 android api 27 来分析的 ViewRootImpl 是用来测量、布局和绘制 View 用的,View 的测量、布局和绘制是从 Activity 的 makeVisible方法开始的,但是本篇文章重

  • Android中 DialogFragment 全屏时 在android11机型失效的问题2021-10-13 10:31:39

    由于 Window 的 decorView 默认是设置有 10dp 的padding。需要获取到decorView后设置其padding为(0, 0, 0, 0) 即可。 override fun onStart() { Logger.i(TAG, "onStart") super.onStart() setWindowParam() } /** * 设置dialog的 wi

  • Android setContentView源码阅读2021-09-22 18:32:04

    阅读源码查看系统如何加载布局 Acticity setContentView源码阅读 public void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(layoutResID); initWindowDecorActionBar(); } 点击去发现是个抽象类 public abstract v

  • Android GUI 系统总结之Window2021-09-18 11:01:26

    Android GUI 系统总结之Window 本文内容均来源于网络,总结起来方便复习 文章目录 Android GUI 系统总结之Window1 AndroidGUI总结2 Window说明2-1 PhoneWindow作用 3 window创建 网址 https://www.cnblogs.com/samchen2009/p/3364327.html https://blog.csdn.net/qian5

  • 面试官亲讲Activity显示界面背后的故事:一文让你理清View的那些复杂关系2021-02-23 17:01:06

    现在的Android面试,很多面试官都喜欢挖底层,这让我们不得不知其然还要知其所以然。 今天要和大家分享是掘金上我关注了很久的一个朋友,他特意写了一篇文来解说Activity背后View的那些复杂关系。 原文地址:View的那些理不清的关系 希望对大家的学习和工作有所帮助。 前言 在Activity

  • 深入理解WMS(一):Window的创建过程2021-02-04 17:59:50

    8.3 Window的创建过程 View是Android中的视图的呈现方式,但是View不能单独存在,它必须附着在Window这个抽象的概念上面,因此有视图的地方就有Window。Android中可以提供视图的地方有Activity,Dialog,Toast,除此之外,还有一些依托Window而实现的视图,比如PopUpWindow,菜单,它们也是视图

  • Android Textview点击闪屏问题2021-01-12 19:01:32

    最近在全局搜索里开发一个浏览器,碰到了底部点击新建窗口,闪屏,有时候点击事件还没反应按下去会显示主题,最后发现是对导航栏的处理问题,底部导航栏处理前需要判断是否可见,可见再隐藏,不可见就不用。 /** * 隐藏虚拟按键,并且全屏 */ public static void hideBott

  • 沉浸式2020-04-28 13:02:52

    沉浸式就是利用系统状态栏,将背景图片延伸至系统状态栏区域内,效果就是和游戏应用画面那样。 Action1 隐藏状态栏和ActionBar 仅仅是隐藏状态栏和ActionBar,只是粗暴的隐藏了而已 //获取当前界面的DecorView View decorView = getWindow().getDecorView(); //表示全屏,

  • 1.1.1UI绘制流程及原理——View是如何被添加到屏幕窗口上2020-03-04 13:40:24

    本片文章讲解:UI绘制流程-源码讲解(基于API28的源码分析) 文章大纲: part1:View是如何被添加到屏幕窗口上 part2:View的绘制流程 本片先讲part1:View是如何被添加到屏幕窗口上,part2:放在下一篇文章讲解。   part1:View是如何被添加到屏幕窗口上 首先,MainActivity中调用了setContent

  • Android的View体系(六):梳理总结View绘制的全流程2020-01-23 20:40:06

    一. 储备知识 1.1 ViewRoot 定义 连接器,对应于ViewRootImpl类 作用 连接WindowManager 和 DecorView 完成View的三大流程: measure、layout、draw 特别注意 // 在主线程中,Activity对象被创建后: // 1. 自动将DecorView添加到Window中 & 创建ViewRootImpll对象 root = new Vi

  • android6.0 SystemUi分析2019-10-19 22:52:10

    android6.0 SystemUi分析http://www.jianshu.com/p/28f1954812b3前言状态栏与导航栏属于SystemUi的管理范畴,虽然界面的UI会受到SystemUi的影响,但是,APP并没有直接绘制SystemUI的权限与必要。APP端之所以能够更改状态栏的颜色、导航栏的颜色,其实还是操作自己的View更改UI。可以这么

  • 从Activity创建到View呈现中间发生了什么?2019-06-13 18:55:53

    前言 前段时间公司招人,作为面试官,我经常让面试者简述View的绘制流程。他们基本都能讲明白View的测量(measure)、布局(layout)、绘制(draw)等过程。还有少数人会提到DecorView和ViewRootImp的作用。但是,当我继续追问关于Window的内容时,几乎没有人回答上来。而本章将会带你深入理解Wi

  • 从Activity创建到View呈现中间发生了什么?2019-06-13 17:53:24

    前言 前段时间公司招人,作为面试官,我经常让面试者简述View的绘制流程。他们基本都能讲明白View的测量(measure)、布局(layout)、绘制(draw)等过程。还有少数人会提到DecorView和ViewRootImp的作用。但是,当我继续追问关于Window的内容时,几乎没有人回答上来。而本章将会带你深入理解W

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有