Activity创建时布局文件的实现原理

setContenView(R.id.activity)实现原理

1.底层框架根据布局ID找到布局文件。

2.底层框架解析此布局文件(pull解析)。

3.底层框架通过反射构建布局文件中的元素对象(EditText,TextView等)。

4.底层框架会将元素对象(view)放到Activity中。

5.Activityk看不见,xml视图空白区域是布局文件(如线性布局,相对布局等)。Activity不是View,Activity是Context的子类。

findViewById是哪个类的方法?

1.一个方法必须要有类或类的对象调用。类调用的方法是静态方法。当方法没有类或类的对象调用时,则方法默认使用this调用,所以findViewById属于Activity。

时间: 2024-10-15 10:09:46

Activity创建时布局文件的实现原理的相关文章

Android Studio 3.0下创建menu布局文件的图例

当开始一个android app的时候,android studio项目中没有看到menu文件夹:如下所示: 当要添加一个按钮时,很多文档上都会说,通过在项目的 res/menu 目录中新增一个 XML 文件来为 action bar 添加操作. 怎么添加呢?下面以图例作为说明: (1)先在res文件夹右键,然后如下图选择: 然后会出现下面的页面,在Resource type下拉栏选择menu,如下图: 最后点击OK就行了,这时候可以看到menu文件夹已经出来了: (2)接着在menu文件夹下右

Android四大组件之Activity(活动)及其布局的创建与加载布局

Android四大组件之Activity(活动)及其布局的创建与加载布局 什么是Activity ? 活动(Activity)是包含用户界面的组件,主要用于和用户进行交互的,一个应用程序中可以包含零个或多个活动. 手动创建Activity的过程详解 到现在为止,你还没有手动创建过活动呢,在第一个安卓工程中,HelloWorldActivity是ADT帮我们创建的,手动创建活动可以加深我们的理解,因此现在是时候应该自己动手了. 首先,你需要再新建一个 Android 项目,项目名可以叫做 Acti

Android布局文件的加载过程分析:Activity.setContentView()源码分析

大家都知道在Activity的onCreate()中调用Activity.setContent()方法可以加载布局文件以设置该Activity的显示界面.本文将从setContentView()的源码谈起,分析布局文件加载所涉及到的调用链.本文所用的源码为android-19. Step 1  .Activity.setContentView(intresId) public void setContentView(int layoutResID) { getWindow().setConten

Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起

本文主要内容是讲解一个视图View或者一个ViewGroup对象是如何添加至应用程序窗口中的.下文中提到的窗口可泛指我们能看到的界面,包括一个Activity呈现的界面(我们可以将之理解为应用程序窗口),一个Dialog,一个Toast,一个Menu菜单等. 首先对相关类的作用进行一下简单介绍: Window 类   位于 /frameworks/base/core/java/android/view/Window.java 说明:该类是一个抽象类,提供了绘制窗口的一组通用API.可以将之理解为

【转】Android 开发之旅:深入分析布局文件&又是“Hello World!”

引言 上篇可以说是一个分水岭,它标志着我们从Android应用程序理论进入实践,我们拿起手术刀对默认的“Hello World!”程序进行了3个手术,我们清楚了“Hello world!”是如何实现显示在屏幕上的,而且我们知道不仅可以根据布局文件main.xml来初始化屏幕,还可编程地进行.以后基本我们都会以实践的方式来深入Android开发.我们这次深入分析Android应用程序的布局文件,主要内容如下: 1.用户界面及视图层次 2.Android中布局定义方法 3.编写XML布局文件及加载X

Android 开发之旅:深入分析布局文件&又是“Hello World!”

http://www.cnblogs.com/skynet/archive/2010/05/20/1740277.html 引言 上篇可以说是一个分水岭,它标志着我们从Android应用程序理论进入实践,我们拿起手术刀对默认的“Hello World!”程序进行了3个手术,我们清楚了“Hello world!”是如何实现显示在屏幕上的,而且我们知道不仅可以根据布局文件main.xml来初始化屏幕,还可编程地进行.以后基本我们都会以实践的方式来深入Android开发.我们这次深入分析Android

Android activity创建三部曲

1.新建类继承Activity或其子类,现在一般继承AppCompatActivity public class TestActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); }}

使用布局文件(Layout)

布局文件类似于web form中的母版页,定义一个布局文件,然后在需要使用的视图中指定使用的布局文件,视图会把当前的动态绑定的数据传递到布局文件中,布局文件中也可以访问到这些数据.渲染视图文件中的数据在布局文件中必须使用@RenderBody()方法进行渲染,如果要使用视图文件中的数据就可以使用:@ViewBag.Title来访问视图文件中的数据. Index.cshtml @{ Layout = "~/Views/Shared/_SiteLayout.cshtml";//声明使用的布

eclipse创建android项目无法正常预览布局文件

eclipse创建android项目时,预览layout.xml文件时提示: This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in,导致无法正常预览布局文件.问题根源:SDK版本过高,ADT版本过低.解决方法如下. 工具/原料 eclipse ADT插件 方法/步骤 1 找到eclipse文件夹,打开eclipse软件,创建a