android LayoutInflater
2015-08-14 14:48
579 查看
android LayoutInflater
LayoutInflater这个类的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。具体作用:
1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;
2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。
LayoutInflater 是一个抽象类
获得 LayoutInflater 实例的三种方式
1. LayoutInflater inflater = getLayoutInflater();//调用Activity的getLayoutInflater()
2. LayoutInflater inflater = LayoutInflater.from(context);
3. LayoutInflater inflater = (LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
其实,这三种方式本质是相同的
public class LayoutInflaterActivity extends Activity { private EditText et; private Button btn; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 第一种方法 LayoutInflater inflater = LayoutInflater.from(this); View layout = inflater.inflate(R.layout.main, null); // 第二种方法 // LayoutInflater inflater = getLayoutInflater(); // View layout = inflater.inflate(R.layout.main, null); // 第三种方法 // LayoutInflater inflater = (LayoutInflater)getSystemService (LAYOUT_INFLATER_SERVICE); // View layout = inflater.inflate(R.layout.main, null); // 这里是通过事先获得的布局文件来实例化具体控件,并且可以根据情况自定义控件 et = (EditText) layout.findViewById(R.id.edittext); et.setBackgroundColor(Color.YELLOW); btn = (Button) layout.findViewById(R.id.btn); btn.setBackgroundColor(Color.CYAN); // 显示 setContentView(layout); } }
Android里面想要创建一个画面的时候, 初学一般都是新建一个类, 继承Activity基类, 然后在onCreate里面使用setContentView方法来载入一个在xml里定义好的界面.
要知道,什么是已经被载入的layout,什么是还没有载入的.我们启动一个应用,与入口Activity相关的layout{常见的是main.xml}就是被载入的,即在Oncreate()中的.而其他的layout是没有被载入的.就要动态载入了或通过另一个activity.
相关文章推荐
- android定位的实现
- android开发之GPS定位详解
- android 三种定位方式
- android 定位的4种方式介绍
- Android软件换皮肤问题
- Android Animations动画使用详解
- Android手机SD卡创建文件并写入内容
- Android应用:Service开发实例(三)之Service的具体应用方法
- Android签名详解(debug和release)
- 初窥Android AudioFlinger
- Android ADB 详解
- android 验证码实现,详细标注!
- java 与 android 常用正则表达式
- android 验证码实现,详细标注!
- Android am命令
- Android笔记:内部类
- mac 下卸载android studio
- Android 自定义带回调的Dialog 及EditText相关
- 用在计时器上的“神器”------Timer
- 【Android学习笔记】【Android学习资源】GitHub上史上最全的Android开源项目分类汇总