一、布局文件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;
} }

最新文章

  1. PHP通过加锁实现并发情况下抢码实现
  2. HBase的几种调优(GC策略,flush,compact,split)
  3. 【阿里云产品公测】云引擎ACE java DEMO 直接部署体验
  4. 写出优秀论文How To Write A Great Essay About Anything
  5. Unity3D之多个fbx导入场景, 合并多个动画
  6. HDU 5410 CRB and His Birthday
  7. Android进阶笔记02:Android 网络请求库的比较及实战(二)
  8. CF 604B More Cowbell#贪心
  9. 关于C#委托的一些学习笔记
  10. 并发编程之CountDownLatch
  11. 01.pandas
  12. Java8 之stream
  13. Django学习手册 - Form 插件
  14. webpack学习笔记--多种配置类型
  15. FastClick用法
  16. 设计模式学习心得&lt;抽象工厂模式 Abstract Factory&gt;
  17. 查询返回JSON数据结果集
  18. 20145212 罗天晨 WEB登陆发贴及会话管理功能的实现
  19. nginx实现反向代理,以反向代理tomcat为例
  20. eclispe快捷键

热门文章

  1. Java入门系列-07-从控制台中接收输入
  2. 从零开始写C# MVC框架之--- 项目结构
  3. 用DebuggerDisplay在Visual Studio的调试器中定制类的显示方式
  4. jsp的动作标签
  5. Redis过期设置
  6. Mysql5.7的安装配置问题
  7. Java使用POI操作Excel文件
  8. 详细分析UserLock如何保证高校内部信息安全
  9. NetBeans 仿notepad++风格
  10. matlab练习程序(Hilbert图像置乱)