Android布局加载之LayoutInflater示例详解-创新互联

前言

创新互联是一家专注于网站建设、网站设计与策划设计,灵山网站建设哪家好?创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:灵山等地区。灵山做网站价格咨询:028-86922220

Activity 在界面创建时需要将 XML 布局文件中的内容加载进来,正如我们在 ListView 或者 RecyclerView 中需要将 Item 的布局加载进来一样,都是使用 LayoutInflater 来进行操作的。

LayoutInflater 实例的获取有多种方式,但最终是通过(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)来得到的,也就是说加载布局的 LayoutInflater 是来自于系统服务的。

由于 Android 系统源码中关于 Content 部分采用的是装饰模式,Context 的具体功能都是由 ContextImpl 来实现的。通过在 ContextImpl 中找到getSystemService的代码,一路跟进,得知最后返回的实例是PhoneLayoutInflater。

  registerService(Context.LAYOUT_INFLATER_SERVICE, LayoutInflater.class,
    new CachedServiceFetcher() {
   @Override
   public LayoutInflater createService(ContextImpl ctx) {
    return new PhoneLayoutInflater(ctx.getOuterContext());
   }});

本文名称:Android布局加载之LayoutInflater示例详解-创新互联
网页路径:http://bzwzjz.com/article/dhgpsp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都企业网站建设公司 网站建设公司 高端网站建设 成都定制网站建设 企业手机网站建设 手机网站设计 企业网站设计 重庆网站制作 四川成都网站建设 成都网站建设公司 外贸营销网站建设 重庆企业网站建设 重庆网站建设 企业网站建设公司 成都网站建设 定制网站建设多少钱 成都网站建设 专业网站设计 定制网站设计 网站设计 成都网站设计 成都网站建设