你好,游客 登录 注册 搜索
背景:
阅读新闻

Android开发心得:LayoutInflater及inflate方法

[日期:2014-11-01] 来源:Linux社区  作者:Linux [字体: ]

引言:

Android开发心得笔记,先看一段代码

public void OnCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

这个是Activity创建时执行的方法,其中最后一句大家应该都见过,这个加载布局的最简单的方法,但是如果,你需要动态加载布局,那就需要使用其他办法。

那就是LayoutInfater的inflate方法。

一。获得 LayoutInflater 实例的三种方式

1.LayoutInflater inflater = getLayoutInflater();  //调用Activity的getLayoutInflater()

2.LayoutInflater localinflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

3. LayoutInflater inflater = LayoutInflater.from(context);

二。inflate方法

public View inflate(int Resourece,ViewGroup root)

作用:填充一个新的视图层次结构从指定的XML资源文件中

reSource:View的layout的ID

root: 生成的层次结构的根视图

return 填充的层次结构的根视图

如果参数root提供了,那么root就是根视图;否则填充的XML文件的根就是根视图。其余几个重载的inflate函数类似。

在View类中,也有inflate方法,相关的可以看下这篇文章 http://www.linuxidc.com/Linux/2014-11/108818.htm

结束语:

这段代码和之前说的那最后一句是一个意思:

LayoutInflater inflate = LayoutInflater.from(this);
View view = inflate.inflate(R.layout.main,null);
setContentView(view);

Android 4.4.4 发布下载 http://www.linuxidc.com/Linux/2014-06/103467.htm

最简单的Ubuntu Touch & Android 双系统安装方式 http://www.linuxidc.com/Linux/2014-01/94881.htm

在Nexus上实现Ubuntu和Android 4.4.2 双启动 http://www.linuxidc.com/Linux/2014-05/101849.htm

Ubuntu 14.04 配置 Android SDK 开发环境 http://www.linuxidc.com/Linux/2014-05/101039.htm

64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细) http://www.linuxidc.com/Linux/2013-06/85303.htm

Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法 http://www.linuxidc.com/Linux/2014-04/101148.htm

Ubuntu 12.10 x64 安装 Android SDK http://www.linuxidc.com/Linux/2013-03/82005.htm

更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-11/108817.htm

linux
相关资讯       Android开发  LayoutInflater 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款