相信在android应用开发中有不少的相同布局,这时候当然你可以对于每个Activity去设置不同的xml,可是有相同的xml布局怎么办呢,再写一遍其不是很浪费时间,这时候我们可以写一个基类用来处理相同的布局部分!详见如下:
1.BaseActivity代码部分:
package com.example.com.test.test1;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
public class BaseActivity extends Activity {
// 共用的声明部分
private TextView head_tv;
private ImageButton imageButton_exit;
// 声明分配布局的layoutID,如果分配的是RelativeLayout,也可以,根据自己需求来换
private LinearLayout llcontent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 去掉系统的TitleBar
this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.base);
}
// 初始化
public void BaseInit(){
head_tv =(TextView)findViewById(R.id.header_tv);
imageButton_exit = (ImageButton)findViewById(R.id.imageButton_exit);
}
// 设置要显示的布局方法
public void BaseSetContentView(int layoutID){
llcontent = (LinearLayout)findViewById(R.id.llcontent);
// 获得inflater
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// 把继承该BaseAcitivyt的layoutID放进来 显示
View view = inflater.inflate(layoutID, null);
// addview
llcontent.addView(view);
}
// 设置要下一个显示的布局
public void BaseSetContentView_other(int layoutID){
llcontent = (LinearLayout)findViewById(R.id.llcontent_other);
// 获得inflater
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// 把继承该BaseAcitivyt的layoutID放进来 显示
View view = inflater.inflate(layoutID, null);
// addview
llcontent.addView(view);
}
// 获得head_tv
public TextView getHead_tv(){
return head_tv;
}
// 设置TitleBar的textview-----
public void setHead_tv(String text){
head_tv.setText(text);
}
//
版权声明:本文为xyg165原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。