android实现自定义顶部标题栏
标题布局
<?xml version="1.0" encoding="utf-8"?>
<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="52dp"
android:background="#ed4255">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:ellipsize="marquee"
android:gravity="center_horizontal|center"
android:text="标题"
android:textColor="#ffffffff"
android:textSize="20dp" />
<TextView
android:id="@+id/backward"
android:layout_width="60dp"
android:layout_height="match_parent"
android:drawablePadding="6dp"
android:ellipsize="end"
android:gravity="center"
android:paddingLeft="5dp"
android:text="返回"
android:textColor="#ffffffff"
android:textSize="18dp" />
<TextView
android:id="@+id/forward"
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:drawablePadding="6dp"
android:ellipsize="end"
android:gravity="center"
android:paddingLeft="5dp"
android:text="提交"
android:textColor="#ffffffff"
android:textSize="18dp" />
</RelativeLayout>
MainActivity引用布局并添加自己内容
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
tools:context="com.bw.titleactivitydemo.MainActivity">
<include layout="@layout/activity_title" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
android:text="Hollo Word !"/>
</LinearLayout>
TitleActivity设置
package com.bw.titleactivitydemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;
/*
* 自定义TitleActivity
* */
public abstract class TitleActivity extends AppCompatActivity implements OnClickListener {
/**
* 标题栏
*/
private TextView mTitle;
/**
* < 返回
*/
private TextView mBackward;
/**
* 提交
*/
private TextView mForward;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutId());
initView();
}
public abstract int getLayoutId();
//初始化组件
private void initView() {
mTitle = (TextView) findViewById(R.id.title);
mBackward = (TextView) findViewById(R.id.backward);
mBackward.setOnClickListener(this);
mForward = (TextView) findViewById(R.id.forward);
mForward.setOnClickListener(this);
}
//返回按钮和提交按钮的点击判断监听事件
@Override
public void onClick(View v) {
switch (v.getId()) {
default:
break;
case R.id.backward:
Toast.makeText(this, "点击返回,可在此处调用finish()", Toast.LENGTH_SHORT).show();
break;
case R.id.forward:
Toast.makeText(this, "我是提交按钮", Toast.LENGTH_SHORT).show();
break;
}
}
}
MainActivity继承TitleActivity
package com.bw.titleactivitydemo;
import android.os.Bundle;
public class MainActivity extends TitleActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public int getLayoutId() {
return (R.layout.activity_main);
}
}