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.hqwc.cn/news/163841.html

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

相关文章

2023年11月5日网规考试备忘

早上题目回忆&#xff1a; pki体系 ipsec&#xff0c;交换安全&#xff08;流量抑制&#xff09; aohdlc bob metclaf —ethernet pon tcp三次握手 OSPF lsa&#xff1f;交换机组ospf配置问题&#xff0c;ping网关可通&#xff0c;AB不通 raid6 300G*8 网络利用率 停等协议10…

解决docker tag打标签时报错:Error response from daemon: no such id

现象&#xff1a; 原因&#xff1a; docker tag时不仅仅要Repository仓库名&#xff0c;也需要原有的tag作为版本号 解决办法&#xff1a; docker tag 原有仓库名: 原有tag值 新的打标名称 问题解决&#xff01;

关于卷积神经网络的多通道

多通道输入 当输入的数据包含多个通道时&#xff0c;我们需要构造一个与输入通道数相同通道数的卷积核&#xff0c;从而能够和输入数据做卷积运算。 假设输入的形状为n∗n&#xff0c;通道数为ci​&#xff0c;卷积核的形状为f∗f&#xff0c;此时&#xff0c;每一个输入通道都…

陈海波:OpenHarmony技术领先,产学研深度协同,生态蓬勃发展

11月4日&#xff0c;以“技术筑生态&#xff0c;智联赢未来”为主题的第二届OpenHarmony技术大会在北京隆重举办。本次大会由OpenAtom OpenHarmony&#xff08;简称“OpenHarmony"&#xff09;项目群技术指导委员会&#xff08;TSC&#xff09;主办&#xff0c;由华为技术…

Steam余额红锁的原因,及红锁后申诉方法

CSGO饰品自动上架助手使用教程 安全的余额一般是通过充值卡充值获得&#xff0c;再加上交易手续费再转卖给你。一般便宜不到哪去。 但你别以为余额是安全的&#xff0c;就万事大吉了。照样有被红锁的可能性&#xff0c;比如这三种&#xff1a; 1、Steam市场巡查机制&#xff…

基于卷积优化算法的无人机航迹规划-附代码

基于卷积优化算法的无人机航迹规划 文章目录 基于卷积优化算法的无人机航迹规划1.卷积优化搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用卷积优化算法来优化无人机航迹规划。 …

220v插座led指示灯维修

由于220v是交流电&#xff0c;有反向电压的情况&#xff0c;而led反向通电的时候电阻无穷大&#xff0c;所以分压也无穷大&#xff0c;220v一导通就击穿&#xff0c;即使加了很大的电阻也没用&#xff0c;串联电阻只能作用于二极管正向的时候。 目前有两种方案&#xff1a; 方…

C语言实现利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示

完整代码&#xff1a; /*利用条件运算符的嵌套来完成此题&#xff1a;学习成绩>90分的同学用A表示&#xff0c;60-89分之间 的用B表示&#xff0c;60分以下的用C表示*/ #include<stdio.h>int main(){int score;char grade;printf("请输入你的成绩&#xff1a;&q…

【Linux】:文件系统

文件系统 一.认识硬件-磁盘1.磁盘的物理构成2.磁盘的存储构成3.逻辑结构 二.文件系统 文件内容属性&#xff0c;前面我们所说的文件操作都是针对以打开的文件&#xff0c;那么未打开的文件呢&#xff1f;当然是在磁盘上储存着&#xff0c;接下来谈谈它是如何储存的。 一.认识硬…

第一百六十六回 如何创建以图片为背景的页面

文章目录 1. 概念介绍2. 实现方法2.1 整体思路2.2 具体步骤 3. 示例代码4. 内容总结 我们在上一章回中介绍了WheelChoose组件相关的内容&#xff0c;本章回中将介绍如何创建以图片为背景的页面&#xff0c;闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 在实际…

51基于matlab模拟退火算法矩形排样

基于matlab模拟退火算法矩形排样&#xff0c;基于最低水平线算法完成矩形板材下料优化&#xff0c;输出最优剩料率和最后的水平线&#xff0c;可替换自己的数据进行优化&#xff0c;程序已调通&#xff0c;可直接运行。 51matlab模拟退火算法矩形排样 (xiaohongshu.com)

LLM之Prompt(一):5个Prompt高效方法在文心一言3.5的测试对比

在Effective Prompt: 编写高质量Prompt的14个有效方法文中我们了解了14个编写Prompt的方法&#xff08;非常感谢原作者&#xff09;&#xff0c;那么这些Prompt在具体大模型中的效果如何呢&#xff1f;本文以百度文心一言3.5版本大模型在其中5个方法上做个测试对比。 第1条&am…