布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.ActionBarActivity">
<com.example.myapplication.view.ActionBarView
android:id="@+id/action_bar_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="我是第二个" />
</RelativeLayout>
Activity
package com.example.myapplication.activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.example.myapplication.R;
import com.example.myapplication.view.ActionBarView;
//测试自定义 Title
public class ActionBarActivity extends AppCompatActivity {
private ActionBarView mActionBarView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
mActionBarView = findViewById(R.id.action_bar_view);
mActionBarView.setTitle("我是第二个页面");
}
}
自定义View
package com.example.myapplication.view;
import android.app.Activity;
import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.example.myapplication.R;
public class ActionBarView extends RelativeLayout {
private TextView mTitle;
public ActionBarView(Context context) {
super(context);
init(context);
}
public ActionBarView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public ActionBarView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context);
}
//初始化
private void init(final Context context) {
View view = View.inflate(context, R.layout.action_bar, null);
view.findViewById(R.id.image_back).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((Activity) context).finish();
}
});
mTitle = view.findViewById(R.id.tv_title);
addView(view);//添加到View里
}
//设置标题
public void setTitle(String title) {
if (TextUtils.isEmpty(title)) {
return;
}
mTitle.setText(title);
}
}
效果图: