AndroidManifest.xml
<activity
...
android:theme="@style/Theme.AppCompat.NoActionBar" />
1、系统ToolBar
style.xml
<resources>
...
<style name="myToorBarStyle">
<item name="android:background">@android:color/darker_gray</item>
</style>
<style name="myTitleTextStyle">
<item name="android:textSize">20sp</item>
<item name="android:textColor">@android:color/holo_orange_light</item>
</style>
<style name="mySubTitleTextStyle">
<item name="android:textSize">10sp</item>
<item name="android:textColor">@android:color/black</item>
</style>
</resources>
layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<androidx.appcompat.widget.Toolbar
android:id="@+id/id_tool_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/myToorBarStyle"
app:logo="@mipmap/icon_logo"
app:navigationIcon="@mipmap/icon_back_black"
app:subtitle="副标题"
app:subtitleTextAppearance="@style/mySubTitleTextStyle"
app:title="主标题"
app:titleTextAppearance="@style/myTitleTextStyle">
<!-- 可添加自定义控件 -->
<Button
android:id="@+id/id_btn_toolbar_click"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:text="click"
android:textSize="30dp" />
</androidx.appcompat.widget.Toolbar>
</LinearLayout>
Activity
private void initToolBar() {
//隐藏原有的ToolBar
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
//设置自定义ToolBar
Toolbar toolbar = findViewById(R.id.id_tool_bar);
setSupportActionBar(toolbar);
//返回按钮
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
//自定义按钮
toolbar.findViewById(R.id.id_btn_toolbar_click).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("TAG", "------ tool bar click !");
}
});
}
2、自定义ToolBar
layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_green_dark">
<androidx.appcompat.widget.Toolbar
android:id="@+id/id_tool_bar_self"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/id_btn_back_self"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:background="@mipmap/icon_back" />
<TextView
android:id="@+id/id_tv_toolbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="self主题"
android:textColor="@android:color/white"
android:textSize="30dp" />
</androidx.appcompat.widget.Toolbar>
</LinearLayout>
Activity
private void initToolBar() {
//隐藏原有的ToolBar
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
//设置自定义ToolBar
Toolbar toolbar = findViewById(R.id.id_tool_bar_self);
// setSupportActionBar(toolbar);
//自定义控件
toolbar.findViewById(R.id.id_btn_back_self).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
TextView textView = toolbar.findViewById(R.id.id_tv_toolbar);
textView.setText("title");
}