Android工具栏ToolBar

主流APP除了底部有一排标签栏外,通常顶部还有一排导航栏。在Android5.0之前,这个顶部导航栏以ActionBar控件的形式出现,但AcionBar存在不灵活、难以扩展等毛病,所以Android5.0之后推出了ToolBar工具栏控件,意在取代AcionBar。

但为了兼容之前的版本,ActionBar按件仍然保留。ToolBarActionBar都占着顶部导航栏的位置,要想引入ToolBar就得先关闭ActionBar。

关闭ActionBar步骤:

(1)styles.xml中定义一个不包含ActionBar的风格样式,代码如下:

res / values / styles.xml (需自行创建)

html 复制代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar"/>
</resources>

(2) 修改AndroidManifest.xml清单文件,把activity节点的 android:theme属性值 改为上一步定义的风格主题,如:

html 复制代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        ... ...
        android:theme="@style/Theme.ToolBarTest">  //这里修改改变全部Activity主题

        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:theme="@style/MyTheme">  //这里修改改变本Activity主题

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

ToolBar在XML中使用方法:

html 复制代码
//例
<androidx.appcompat.widget.Toolbar

    android:id="@+id/toolBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:logo="@drawable/icon2"
    app:title="Title"
    app:navigationIcon="@drawable/zerotwo"
    app:subtitle="subTitle"

    />

ToolBar的常用属性、设置方法及说明:

logo setLogo 设置工具栏图栏。
titlesetTitle 设置标题文本。
titleTextColorsetTitleTextColor 设置标题的文字颜色。
titleTextAppearancesetTitleTextAppearance 设置标题的文字风格(外观)。 风格定义在styles.xml中。

subtitlesetsubtitle 设置副标题文本。副标题在标题下方。
subtitleTextColorsetSubtitleTextColor 设置副标题的文字颜色。
subtitleTextAppearance setSubtitleTextAppearance 设置副标题的文字风格(外观)。

navigationIcon setNavigationIcon 设置左侧导航图标。
监听器无属性 setNavigationOnClickListener 设置导航图标的点击监听器。

相关推荐
坊钰25 分钟前
【Java 数据结构】移除链表元素
java·开发语言·数据结构·学习·链表
chenziang130 分钟前
leetcode hot100 LRU缓存
java·开发语言
会说法语的猪36 分钟前
springboot实现图片上传、下载功能
java·spring boot·后端
码农老起37 分钟前
IntelliJ IDEA 基本使用教程及Spring Boot项目搭建实战
java·ide·intellij-idea
m0_7482398341 分钟前
基于web的音乐网站(Java+SpringBoot+Mysql)
java·前端·spring boot
时雨h1 小时前
RuoYi-ue前端分离版部署流程
java·开发语言·前端
麒麟而非淇淋1 小时前
Day13 苍穹外卖项目 工作台功能实现、Apache POI、导出数据到Excel表格
java
小爬虫程序猿1 小时前
利用Java爬虫获取速卖通(AliExpress)商品详情的详细指南
java·开发语言·爬虫
Java编程乐园1 小时前
Java中以某字符串开头且忽略大小写字母如何实现【正则表达式(Regex)】
java·正则表达式