Android学习笔记_31_通过后台代码生成View对象以及动态加载XML布局文件到LinearLayout
2014-02-26 17:07
741 查看
一、布局文件part.xml:
二、通过后台代码生成前台布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="64dp" android:text="添加" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> </RelativeLayout>
二、通过后台代码生成前台布局:
package com.example.codeui; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout layout=new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL);//显示方向 //将view对象添加到布局界面 TextView textView =new TextView(this); textView.setText("Hello Code UI"); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT); //添加 layout.addView(textView,params); //添加外部xml定义的布局 View view = getPartView(); layout.addView(view); ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT); setContentView(layout, layoutParams); //setContentView(R.layout.activity_main); //采用代码编写效率高,但是很难维护 } //通过加载xml文件将view添加到布局中 public View getPartView() { //将xml布局文件生成view对象通过LayoutInflater LayoutInflater inflater =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); //将view对象挂载到那个父元素上,这里没有就为null return inflater.inflate(R.layout.part, null); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
相关文章推荐
- Android学习笔记_31_通过后台代码生成View对象以及动态加载XML布局文件到LinearLayout
- android findview 自动生成工具 xml布局文件自动转换类模板代码工具
- Android View 动态加载不同xml布局文件
- Kotlin通过Id操作View,Adapter和动态加载Xml文件也可以类似操作
- XML布局文件在Activity自动生成代码(二)SAX 解析
- 【Android】Android Layout Binder——根据layout布局文件自动生成findViewById的java代码的神器
- 设计模式之1.1 再谈反射 以及java当中通过配置文件得到类名字,并生成对象的方法
- Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解
- 动态加载布局时设置LinearLayout中的View的权重
- XML布局文件在Activity自动生成代码(一)
- 通过XML创建界面---对象的动态创建以及属性的设置
- 用jaxb通过XSD生成Java类,java对象转换成xml文件
- Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解
- Androiid 如何动态加载assets目录下的xml布局文件(包括Drawable xml)
- Android的xml布局文件代码讲解(TextView控件)
- 简析静态xml布局如何通过动态代码实现
- Android使用addView动态加载布局文件
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- 通过XmlDocument动态生成XML文件
- Adapter的getView()方法中无法通过代码获取布局文件中View的大小