Android ToolBar控件详解及实例

Android ToolBar控件详解及实例

简介

ToolBar是Android系统提供的一个工具栏控件,它可以用来代替ActionBar,具有更强的定制性和扩展性。使用ToolBar可以帮助我们更容易地实现不同样式的界面,从而提升用户体验。

使用

添加依赖

在项目的build.gradle文件中添加以下依赖:

implementation 'com.google.android.material:material:1.4.0'

布局

在布局文件中添加ToolBar,Toolbar需要放在LayoutBox中,否则会显示不出来。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.google.android.material.appbar.MaterialToolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:titleTextColor="@color/white"
            app:title="My Title"/>

    </com.google.android.material.appbar.AppBarLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <!-- Your Layout Content -->

    </LinearLayout>

</LinearLayout>

加载菜单项

在Activity中重写onCreateOptionsMenu方法,并使用MenuInflater加载菜单项。

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
    menuInflater.inflate(R.menu.main_menu, menu)
    return super.onCreateOptionsMenu(menu)
}

R.menu.main_menu是保存菜单项的xml文件。

菜单点击事件

在Activity中重写onOptionsItemSelected方法,并根据菜单项的ID来响应事件。

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    when (item.itemId) {
        R.id.action_settings -> {
            // Handle Settings Click
            return true
        }
        R.id.action_help -> {
            // Handle Help Click
            return true
        }
        else -> return super.onOptionsItemSelected(item)
    }
}

示例1:动态改变ToolBar标题

val toolbar: MaterialToolbar = findViewById(R.id.toolbar)
toolbar.title = "New Title"

示例2:自定义ToolBar

MaterialToolbar中添加自定义控件,使ToolBar更具个性化。

<com.google.android.material.appbar.MaterialToolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:titleTextColor="@color/white"
    app:title="My Title">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_search"/>

</com.google.android.material.appbar.MaterialToolbar>

总结

本文介绍了Android中ToolBar控件的使用方法,从添加依赖、布局、加载菜单项、菜单点击事件和自定义ToolBar等方面进行了详细的说明。通过学习本文,您可以更加灵活地使用ToolBar,为您的应用程序增加更多的个性化特色。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android ToolBar控件详解及实例 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • umask函数

    以下是详细讲解“umask函数的完整攻略”的标准Markdown格式文本: umask函数的完整攻略 umask函数是一个UNIX系统调用,用于设置进程的文件创建掩码。本文将介绍umask函数的基本概念、使用方法和两个示例说明。 1. umask函数的基本概念 umask函数是一个UNIX系统调用,用于设置进程的文件创建掩码。文件创建掩码是一个8位二制数,用…

    other 2023年5月10日
    00
  • Mysql计算字段长度函数之LENGTH函数

    当我们在MySQL数据库中查询数据时,有时候需要获取某个字段的长度,这个时候就可以用到MySQL中内置的LENGTH函数。该函数可以计算出某个字段值的字符数或者字节数。下面是详细的攻略: 1. LENGTH函数的语法 LENGTH(str) 其中,str是指定要计算长度的字符串,可以是一个列名、变量或者字符串字面值。 2. LENGTH函数的返回值 LENG…

    other 2023年6月25日
    00
  • RabbitMQ在特来电的深度应用

    RabbitMQ在特来电的深度应用的完整攻略 本文将为您提供RabbitMQ在特来电的深度应用的完整攻略,包括介绍、使用方法和两个示例说明。 介绍 RabbitMQ是一款开源的消息队列软件,可以用于实现分布式系统中的消息传递和异步处理。特来电是一家提供新能源汽车充电服务的公司,使用RabbitMQ实现了充电桩和后台系统之间的消息传递和异步处理。本文将介绍Ra…

    other 2023年5月6日
    00
  • 简单介绍线性表以及如何实现双链表

    线性表的简介: 线性表是一类数据结构,其特点是数据元素之间存在一种线性关系。换句话说,线性表可以看作是一组有顺序的数据元素的集合,其中每个元素最多只有一个前驱和一个后继。(注:链表也是线性表的一种) 线性表的常见实现方式有数组和链表两种。 双向链表的实现: 双向链表是一种常见的链式存储结构,每个节点除了存储数据之外,还包括指向前驱和后继节点的指针。在操作链表…

    other 2023年6月27日
    00
  • qq6.12014版官方下载 qq6.1体验版下载地址

    QQ6.12014版官方下载攻略 QQ6.12014版是QQ即时通讯软件的最新版本,本攻略将详细介绍如何下载和安装该版本。同时,我们还会提供两个示例说明,以帮助您更好地理解。 下载QQ6.12014版 首先,打开您的浏览器,并访问QQ官方网站(https://im.qq.com/)。 在官方网站的首页上,您可以找到一个名为“下载”的选项卡。点击该选项卡以进入…

    other 2023年8月4日
    00
  • Android studio代码中的大小写字母怎么切换?

    在Android Studio中,你可以使用以下方法切换代码中的大小写字母: 使用快捷键: 将光标放在你想要切换大小写的单词上。 使用快捷键 Ctrl + Shift + U(Windows/Linux)或 Cmd + Shift + U(Mac)来切换选定单词的大小写。 使用菜单选项: 将光标放在你想要切换大小写的单词上。 在菜单栏中选择 Edit(编辑)…

    other 2023年8月16日
    00
  • 流放之路3.2野蛮人酋长超载火旋风BD介绍 开荒后期BD攻略

    流放之路3.2野蛮人酋长超载火旋风BD介绍 简介 在流放之路3.2版本中,野蛮人酋长超载火旋风(Barbarian Chieftain Cyclone with Berserk)是一种强大的建议角色扮演(ARPG)构建。该构建利用野蛮人的强大生存能力和高爆发伤害,以火旋风技能为主要输出手段。本攻略将详细介绍该构建的技能配置、装备选择和技能使用策略。 技能配置…

    other 2023年8月5日
    00
  • 关于shell命令的定向输出 2>&1

    关于shell命令的定向输出 2>&1 是常用的一种输出重定向方式。通过这种方式可以将标准错误输出(stderr)与标准输出(stdout)合并为一个文件流输出到同一个文件或者终端。以下是对该命令的完整攻略: 什么是标准输入、输出与错误输出? 在深入了解该命令之前,我们需要对标准输入(stdin)、标准输出(stdout)以及标准错误输出(st…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部