博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android中的LayoutInflater简单运用
阅读量:6037 次
发布时间:2019-06-20

本文共 3245 字,大约阅读时间需要 10 分钟。

.在做项目的工程中,经常会用到一些相同的背景框,但是前景的选择不同。这个时候可以使用LayoutInflater来实现。

代码如下:

main.xml

inflater.xml

inflater2,xml

background.xml

java代码部分:

InflaterActivity,java

package fover.inflater;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class InflaterActivity extends Activity implements OnClickListener {	private Button button1;	private Button button2;	/** Called when the activity is first created. */	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		findView();		setOnclick();	}	/**	 * 描述:设置监听事件	 */	private void setOnclick() {		button1.setOnClickListener(this);		button2.setOnClickListener(this);	}	/**	 * 描述:发现各种VIEW	 */	private void findView() {		button1 = (Button) findViewById(R.id.button1);		button2 = (Button) findViewById(R.id.button2);	}	@Override	public void onClick(View v) {		switch (v.getId()) {		case R.id.button1:			Intent intent=new Intent(InflaterActivity.this, personal.class);			startActivity(intent);			break;		case R.id.button2:			Intent intent2=new Intent(InflaterActivity.this, rank.class);			startActivity(intent2);			break;		default:			break;		}	}}
personal.java

package fover.inflater;import android.app.Activity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.view.Window;import android.widget.LinearLayout;public class personal extends Activity {	private View inflaterView;	private LinearLayout bgView;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		requestWindowFeature(Window.FEATURE_NO_TITLE);		setContentView(R.layout.background);				bgView=(LinearLayout)findViewById(R.id.bglayout);				LayoutInflater inflater=LayoutInflater.from(this);		inflaterView=inflater.inflate(R.layout.inflater, null);		bgView.addView(inflaterView,new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));			}}
rank.java

package fover.inflater;import android.app.Activity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.view.Window;import android.widget.LinearLayout;public class rank extends Activity {	private LinearLayout bigView;	private View inflaterView;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		requestWindowFeature(Window.FEATURE_NO_TITLE);		setContentView(R.layout.background);		bigView=(LinearLayout)findViewById(R.id.bglayout);				LayoutInflater inflater=LayoutInflater.from(this);		inflaterView=inflater.inflate(R.layout.inflater2, null);						bigView.addView(inflaterView,new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));							}}
需要注意的是需要在:AndroidManifest.xml设置权限哦。

运行效果截图:

转载地址:http://vurhx.baihongyu.com/

你可能感兴趣的文章
SERVLET容器简介与JSP的关系
查看>>
《服务器SSH Public Key认证指南》-补充
查看>>
我的友情链接
查看>>
Java break continue return 的区别
查看>>
算法(Algorithms)第4版 练习 1.3.4
查看>>
jquery easyUI checkbox复选项获取并传后台
查看>>
浅析NopCommerce的多语言方案
查看>>
设计模式之简单工厂模式
查看>>
C++中变量的持续性、链接性和作用域详解
查看>>
2017 4月5日上午
查看>>
Google Chrome开发者工具
查看>>
第一阶段冲刺报告(一)
查看>>
使用crontab调度任务
查看>>
【转载】SQL经验小记
查看>>
zookeeper集群搭建 docker+zk集群搭建
查看>>
Vue2.5笔记:Vue的实例与生命周期
查看>>
论JVM爆炸的几种姿势及自救方法
查看>>
联合体、结构体简析
查看>>
使用throw让服务器端与客户端进行数据交互[Java]
查看>>
java反射与代理
查看>>