Android之setContentView和LayoutInflater
2011-12-31 15:30
232 查看
setContentView:
1.常用的构造函数:
2.用法
3.两种用法的适用场景:
setContentView()一旦调用, layout就会立刻显示UI;而inflate只会把Layout形成一个以view类实现成的对象,有需要时再用setContentView(view)显示出来。
一般在activity中通过setContentView()将界面显示出来,但是如果要在非activity中如何对控件布局进行设置操作,就需LayoutInflater动态加载。
LayoutInflater:
获得 LayoutInflater 实例的三种方式
其实,这三种方式本质是相同的,从源码中可以得出结论:这三种方式最终本质是都是调用的Context.getSystemService()。
1.常用的构造函数:
1)setContentView(int layoutResID) 2)setContentView(View view) 3)setContentView(View view, ViewGroup.LayoutParams params)
2.用法
1)setContentView(R.layout.main); 2)LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = (View) inflater.inflate(R.layout.apploader, null, true); setContentView(view);
3.两种用法的适用场景:
setContentView()一旦调用, layout就会立刻显示UI;而inflate只会把Layout形成一个以view类实现成的对象,有需要时再用setContentView(view)显示出来。
一般在activity中通过setContentView()将界面显示出来,但是如果要在非activity中如何对控件布局进行设置操作,就需LayoutInflater动态加载。
LayoutInflater:
获得 LayoutInflater 实例的三种方式
1. LayoutInflater inflater = getLayoutInflater(); //调用Activity的getLayoutInflater() 2. LayoutInflater localinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 3. LayoutInflater inflater = LayoutInflater.from(context);
其实,这三种方式本质是相同的,从源码中可以得出结论:这三种方式最终本质是都是调用的Context.getSystemService()。
相关文章推荐
- Android之setContentView和LayoutInflater
- android应用程序窗口框架学习(2)-view绘制流程源代码解析-setContentView与LayoutInflater加载解析机制源码分析
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
- Android中级教程(一)之----手机页面的转换setContentView的应用
- Android setContentView()解读
- Android开发之setContentView的那些事
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
- Android 从setContentView谈Activity界面的加载过程
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
- android LayoutInflater、setContentView、findviewbyid 区分解析
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
- android setContentView
- Android代码报错:setContentView(R.layout.activity_main)
- Android setContentView方法解析(一)
- Android 源码解析 之 setContentView
- [置顶] Android中不得不谈的setContentView
- android开发中使用setContentView和LayoutInflater的点点滴滴
- textView.setText() 的时候报错 android.content.res.Resources$NotFoundException: String resource ID #0x0