说明
- 控件使用:androidx.appcompat.widget.Toolbar
- app默认的Toolbar去掉
- 修改values/themes.xml文件中的
----由parent=“Theme.MaterialComponents.DayNight.DarkActionBar”
----改为 parent=“Theme.MaterialComponents.DayNight.NoActionBar”
属性说明
android:layout_width —宽度,默认为"match_parent"
android:layout height – 高度,默认"?attr/actionBarSize"
android:background – 背景色
app:navigationlcon – 导航图标
apptitle --主标题
app:titleTextColor --主标题字体颜色
app:titleMarginStart – 主标题左边距
app:subtitle – 子标题
app:subtitleTextColor – 子标题字体颜色
app:logo --图标logo
方式
1、Layout(见示例中的tb_one)
2、java设置(见示例中的tb_two)
3、标题特殊写法–引用TextView 居中(见示例中的tb_three)
示例
文件layout/activity_toolbar.xml
<?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"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".ToolbarActivity">
<androidx.appcompat.widget.Toolbar
android:id="@+id/tb_one"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/lightgray"
app:title="@string/app_name"
app:titleTextColor="@color/red"
app:navigationIcon="@drawable/ic_baseline_west_24"
app:titleMarginStart="90dp"
app:subtitle="toolbar"
app:subtitleTextColor="@color/green"
app:logo="@mipmap/ic_launcher"
app:logoDescription="测试logo"
/>
<androidx.appcompat.widget.Toolbar
android:id="@+id/tb_two"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/lightgray"
android:layout_marginTop="20dp"
/>
<androidx.appcompat.widget.Toolbar
android:id="@+id/tb_three"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/lightgray"
android:layout_marginTop="20dp"
>
<TextView
android:id="@+id/tv_toolbar_one"
android:text="text"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</androidx.appcompat.widget.Toolbar>
</LinearLayout>
文件 com.pha.com/ToolbarActivity.xml
package com.pha.first;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
public class ToolbarActivity extends AppCompatActivity {
private static final String TAG ="Toolbar" ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toolbar);
Toolbar tb_one = findViewById(R.id.tb_one);
tb_one.setNavigationOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Log.e(TAG, "onClick: +点击了Toolbar");
}
});
Toolbar tb_two = findViewById(R.id.tb_two);
tb_two.setNavigationIcon(R.drawable.ic_baseline_west_24);
tb_two.setTitle("Toolbar2");
tb_two.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e(TAG, "onClick: +点击了tb_two");
}
});
TextView tv_toolbar_one = findViewById(R.id.tv_toolbar_one);
Toolbar tb_three = findViewById(R.id.tb_three);
tb_three.setNavigationIcon(R.drawable.ic_baseline_west_24);
tv_toolbar_one.setText("Toolbar3");
tb_three.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e(TAG, "onClick: +点击了tb_three");
}
});
}
}
效果图
记忆知识点
1、Toolbar 控件名称:androidx.appcompat.widget.Toolbar
2、监听导航图标:setNavigationOnClickListener