BaseActivity.xml
package com.example.test0103;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.TextView;
public class BaseActivity extends Activity{
LinearLayout mLlHolder;
View mTitlebarHolder;
View mBtLeft;
View mBtRight;
TextView mTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLlHolder = new LinearLayout(this);
mLlHolder.setOrientation(LinearLayout.VERTICAL);
int titlebarResId = getTitlebarResId();
if (titlebarResId > 0) {
mTitlebarHolder = getLayoutInflater().inflate(titlebarResId, null);
// LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,100);
mLlHolder.addView(mTitlebarHolder);
mBtLeft = mTitlebarHolder.findViewById(R.id.titlebar_left);
mBtRight = mTitlebarHolder.findViewById(R.id.titlebar_right);
mTitle = (TextView) mTitlebarHolder.findViewById(R.id.titlebar_mid);
mBtLeft.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onClickLeft();
}
});
mBtRight.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onClickRight();
}
});
int title = getTitleResId();
if (title > 0) {
mTitle.setText(title);
}
}
View content = getContentView();
if (content != null) {
mLlHolder.addView(content);
}
setContentView(mLlHolder);
init();
}
protected void init() {
}
protected View getContentView() {
return null;
}
protected int getTitleResId() {
return 0;
}
private int getTitlebarResId() {
return R.layout.defalut_titlebar;
}
protected void onClickLeft() {
finish();
}
protected void onClickRight() {
// TODO Auto-generated method stub
}
}
defalut_titlebar.xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="46dp"
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:background="#dfdfdf"
>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="46dp"
android:id="@+id/titlebar_left"
android:layout_alignParentLeft="true"
android:background="@android:color/transparent"
android:src="@drawable/back"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/titlebar_mid"
android:layout_centerInParent="true"
android:textSize="25sp"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/titlebar_right"
android:layout_alignParentRight="true"
android:background="#00000000"/>
</RelativeLayout>
MainActivity.java
package com.example.test0103;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected int getTitleResId() {
return R.string.title;
}
@Override
protected View getContentView() {
View view = getLayoutInflater().inflate(R.layout.content,null);
return view;
}
}
效果