Android工具栏ToolBar

主流APP除了底部有一排标签栏外,通常顶部还有一排导航栏。在Android5.0之前,这个顶部导航栏以ActionBar控件的形式出现,但AcionBar存在不灵活、难以扩展等毛病,所以Android5.0之后推出了ToolBar工具栏控件,意在取代AcionBar。
但为了兼容之前的版本,ActionBar按件仍然保留。ToolBarActionBar都占着顶部导航栏的位置,要想引入ToolBar就得先关闭ActionBar。

使用ToolBar时要使用setSupportActionBar( toolBar )将工具栏设为操作栏。

Toolbar toolbar=findViewById(R.id.toolBar);
setSupportActionBar(toolbar);

关闭ActionBar步骤:

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

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

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

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

<?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主题<activityandroid: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>

(3)  使用ToolBar时要使用setSupportActionBar( toolBar )将工具栏设为操作栏。

Toolbar toolbar=findViewById(R.id.toolBar);
setSupportActionBar(toolbar);

ToolBar在XML中使用方法:

//例
<androidx.appcompat.widget.Toolbarandroid: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  设置工具栏图栏。
title  setTitle  设置标题文本。
titleTextColor  setTitleTextColor  设置标题的文字颜色。
titleTextAppearance  setTitleTextAppearance  设置标题的文字风格(外观)。 风格定义在styles.xml中。

subtitle setsubtitle  设置副标题文本。副标题在标题下方。
subtitleTextColor  setSubtitleTextColor  设置副标题的文字颜色。
subtitleTextAppearance  setSubtitleTextAppearance  设置副标题的文字风格(外观)。

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

app:menu  setMenu  设置菜单;需重写onCreateOptionsMenu和onOptionsItemSelected方法。

ToolBar标题居中:

ToolBar想要标题居中,但没有属性可以设置,可以在ToolBar标签内放置一个TextView并将其layout_gravity属性设为center

<androidx.appcompat.widget.Toolbar... ... ><TextView... ...android:layout_gravity="center" />
</androidx.appcompat.widget.Toolbar>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/182379.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker基础(简单易懂)

目录 一、docker是什么 核心概念 二、docker安装 1、卸载docker 2、使用yum 安装 三、docker常用命令 1、帮助命令 2、镜像命令 1&#xff09;查看镜像 2&#xff09;查询镜像 3&#xff09;拉取镜像 4&#xff09;删除镜像 3、容器命令 四、容器数据卷 五、Dock…

解决美颜SDK集成:技术最佳实践和故障排除

美颜SDK已成为许多应用的核心功能&#xff0c;因为它可以增强用户体验&#xff0c;提高图像质量&#xff0c;吸引更多的用户。然而&#xff0c;集成美颜SDK并不总是一帆风顺。本文将为您介绍一些关键的技术最佳实践&#xff0c;以及如何排除集成过程中可能遇到的故障。 一、技…

快速实现一个企业级域名 SSL 证书有效期监控巡检系统

Why 现在对于企业来说&#xff0c;HTTPS 已经不是可选项&#xff0c;已经成为一个必选项。HTTPS 协议采用 SSL 协议&#xff0c;采用公开密钥的技术&#xff0c;提供了一套 TCP/IP 传输层数据加密的机制。SSL 证书是一种遵守 SSL 协议的服务器数字证书&#xff0c;一般是由权威…

antv/x6 自定义html节点并且支持动态更新节点内容

antv/x6 自定义html节点 效果图定义一个连接桩公共方法注册图形节点创建html节点动态更新节点内容 效果图 定义一个连接桩公共方法 const ports {groups: {top: {position: top,attrs: {circle: {r: 4,magnet: true,stroke: #cf1322,strokeWidth: 1,fill: #fff,style: {visib…

2023下半年软考系统集成项目管理工程师上午真题及答案解析

1.( C )不属于风险识别的信息收集技术。 A.头脑风暴 B.德尔菲技术 C.排除法 D.根本原因分析 解析&#xff1a; 2.( C )不是SaaS(软件即服务)的特点。 A.由供应商管理软件更新和安全 B.无需购买软件 C.需要自行安装和维护软件 D.按需付费 解析&#xff1a; 3.…

LiveMeida视频接入网关

一、产品简介 视频接入网关主要部署在视频存储节点或视频汇聚节点&#xff0c;面向不同用户&#xff0c;主要用于对接不同厂家、不同型号的摄像机设备&#xff0c;获取摄像机视频后&#xff0c;以统一标准的视频格式和传输协议&#xff0c;将视频推送至上层联网/应用平台。可广…

自动化测试:在Linux下搭建接口自动化测试平台详解

我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧&#xff01; 需要在Linux上提前准备的环境&#xff08;下面是本人搭建时的环境&#xff09;&#xff1a; 1&#xff0c;Python 3.6.8 2&#xff0c;MySQL 5.7 在这我也准备了一份软件测试视…

【实战Flask API项目指南】之三 路由和视图函数

实战Flask API项目指南之 路由和视图函数 本系列文章将带你深入探索实战Flask API项目指南&#xff0c;通过跟随小菜的学习之旅&#xff0c;你将逐步掌握 Flask 在实际项目中的应用。让我们一起踏上这个精彩的学习之旅吧&#xff01; 前言 当小菜踏入Flask后端开发的世界时&…

三级分层查询省市区数据

1、数据库数据 * 2、实现的效果 3、controller层 Api(tags "地址库") RestController RequestMapping("/basic/city") public class DataTChinaCityController extends BaseController {Resourceprivate IProductSaleDeliveryService productSaleDelive…

基于SpringBoot+Vue的旅游系统、前后端分离

博主24h在线&#xff0c;想要源码文档部署视频直接私聊&#xff0c;低价有偿&#xff01; 基于SpringBootVue的旅游系统、前后端分离 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI 工具&#xff1a;IDEA/Eci…

船舶IMO识别码是什么?

船舶编码和编码体系比较多&#xff0c;主要有船舶登记号、船检登记号、船舶呼号、IMO号、船舶MMSI、船体号等。 船舶的IMO Number&#xff08;国际海事组织识别码&#xff0c;下称IMO识别码&#xff09;是独一无二的&#xff0c;相当于船舶的身份证号码&#xff0c;并且此号码…

MYSQL多表联查on和where的区别

目录 一、背景 二、探究 2.1、统计每个班级中女生的数量 错误的写法 查询结果 正确的写法 查询结果 2.2、只统计"一班"的学生数量 错误的写法 查询结果 正确的写法 查询结果 三、总结 一、背景 在一次对数据进行统计的时候&#xff0c;需要对两张表进行…

spring技术体系的演进史

spring 最开始使用 spring 的时候&#xff0c;发现这个特别好用&#xff0c;最主要是把那些对象创建之前通过关键字 new 创建的方式把那些交给 spring ioc 容器来处理&#xff0c;其中 spring 还是使用了工厂模式来创建对应的对象。 然而这个时候需要自己写一堆配置&#xff…

SpringBoot内容协商(简单使用、源码解读、默认Converters、自定义Converters)

目录 1. 内容协商1.1 简单使用1.2 源码解读1.3 WebMvcAutoConfiguration提供几种默认HttpMessageConverters1.4 自定义HttpMessageConverter支持yaml格式输出 1. 内容协商 1.1 简单使用 一套系统适配多端数据返回 基于请求头内容协商&#xff1a;&#xff08;默认开启&#x…

C语言--分段函数

要求&#xff1a;写一个程序&#xff0c;输入x的值&#xff0c;输出y的值 思路&#xff1a;定义两个变量&#xff0c;一个y&#xff0c;一个x&#xff0c;当x<1时&#xff0c;yx&#xff0c;当x>1&&x<10&#xff0c;y2x-1&#xff0c;当x>10,y3x-11.用一个…

Linux 服务器监控

服务器几乎与任何 IT 基础设施密不可分&#xff0c;Linux 是服务器兼容性最强的开源操作系统&#xff0c;因为它具有灵活性、一致性和安全性。大多数 Linux 服务器都设置了以下 Linux 操作系统的任何变体&#xff1a;Red Hat Enterprise Linux &#xff08;RHEL&#xff09;、D…

Linux Shell和权限

目录 Shell命令及运行原理 权限 1.文件基本属性 2.文件权限值的表示方法 3.文件访问权限的相关设置方法 3.(1)chmod 组名修改 3.(2)chmod 二进制修改 3.(3)chown 3.(4)chgrp 3.(5)umask 4.目录权限 Shell命令及运行原理 Linux的操作系统&#xff0c;狭义上是…

看看顶级外贸业务员是如何跟进客户的?

许多外贸业务员&#xff0c;都碰到过客户跟进上的困难。那到底外贸业务员如何跟进客户&#xff0c;才能越跟越近&#xff0c;最终成交呢&#xff1f;本篇文章设定了几个客户回复的场景&#xff0c;看看顶尖销售都是怎么应对的吧&#xff1f; 一 客户说暂时没有需求 1.问清楚客…

案例研究|腾讯音乐娱乐集团与JumpServer共探安全运维审计解决方案

近年来&#xff0c;得益于人民消费水平的提升以及版权意识的加强&#xff0c;用户付费意愿和在线用户数量持续增长&#xff0c;中国在线音乐市场呈现出稳定增长的发展态势。随着腾讯音乐于2018年12月上市&#xff0c;进一步推动了中国在线音乐市场的发展。 腾讯音乐娱乐集团&a…

数据可视化:地图

1.基础地图的使用 如何添加颜色表示层级 代码实现 """基础地图的使用 """ from pyecharts.charts import Map from pyecharts.options import VisualMapOpts# 准备地图对象 map Map() # 准备数据 data [("北京市", 9),("上海市…