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号
友情链接: 成都网站建设 成都网站设计 网站建设开发 企业网站建设 成都响应式网站建设 泸州网站建设 重庆网站建设 手机网站制作 高端网站设计推广 成都网站制作 高端网站设计 成都网站建设 手机网站建设 网站建设推广 成都网站制作 企业网站设计 成都网站建设 网站建设公司 手机网站制作 成都网站建设 高端网站建设 响应式网站设计方案