android动态加载布局文件示例
android动态加载布局文件示例
发布时间:2016-12-28 来源:查字典编辑
摘要:一、布局文件part.xml:复制代码代码如下:二、通过后台代码生成前台布局:复制代码代码如下:packagecom.example.cod...

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

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类