android LayoutInflater
来源:互联网 发布:java中字符替换 编辑:程序博客网 时间:2024/06/14 12:39
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); } }
要知道,什么是已经被载入的layout,什么是还没有载入的.我们启动一个应用,与入口Activity相关的layout{常见的是main.xml}就是被载入的,即在Oncreate()中的.而其他的layout是没有被载入的.就要动态载入了或通过另一个activity.
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- android layoutinflater
- Android LayoutInflater
- Android - LayoutInflater
- Android-----LayoutInflater
- Android - LayoutInflater
- Android - LayoutInflater
- Android LayoutInflater
- android 验证码实现,详细标注!
- Android ADB 详解
- post模拟表单数据提交--利用apache的jar包
- Android签名详解(debug和release)
- 归并排序快速排序java代码
- android LayoutInflater
- NSIS 磁盘检测 (学习三)
- CF 316div2 E.Pig and Palindromes
- Code::Blocks里用自定义的def文件生成dll
- Shell传入参数的处理
- Android手机SD卡创建文件并写入内容
- (2)信号槽
- caffe源码修改:抽取任意一张图片的特征
- Spring使用注解装配