工具栏(导航栏)(一般在顶端)
继承自ViewGroup
首先我们要知道什么是Toolbar
我们先创建一个hello World
将
改为
run一下
所以Toolbar其实就是用来替换这个bar栏目的
我们先来写一个Toolbar
注:这里的Toolbar不是下面那个Toolbar,而是androidx里面那个
这里宽度就和屏幕一样,高度和原本的actionBar一样
为了看到效果,再设置个背景色
再来看看其他设置属性
app:navigationIcon:名字翻译过来是一个导航图标,但是一般添加一个返回箭头
注:前缀都是app: 因为用的是androidx里面Toolbar的属性,而不是android自带的
先导入个返回的图标
app:title:设置一个标题
app:titleTextColor:设置标题字体颜色
app:titleMarginStart:设置标题间距
app:subtitle:设置一个子标题
app:subtitleTextColor:设置子标题颜色
app:logo:设置一个logo,我们随便设一个
注:这里图标的预览效果可能和模拟机上run的不太一样,不过无大碍
这个返回键可以设置监听,用来返回
先给个id,再在java中写
注:这里和之前的onClickListener不太一样
发现app打开即闪退
打开日志发现问题
Caused by: java.lang.ClassCastException: androidx.appcompat.widget.Toolbar cannot be cast to android.widget.Toolbar
问题:androidx的Toolbar不能给这个Toolbar
也就是说导包导错了
去掉最后一个,重新导包
选择androidx的这个包
再run一下
其实Toolbar一些常规设置除了能在xml中设置以外,还能在java中设置
再来一个Toolbar
为了使俩个Toolbar有一些间距,使用margin
java中
注:在java中设置的效果好像在预览里看不到,不过能run出来看到效果,无碍
run一下
怎样把标题放到中间呢
在Toolbar中嵌套一个TextView
在TextView中设置标题并且使标题居中
注:这里android:layout_gravity="center"莫名其妙的不提示,可能是Android Studio的问题
注:android:gravity="center"可以帮助我记得gravity是怎样写的,仅此而已,删了也无所谓