安卓开发toolbar设置logo

编程入门 行业动态 更新时间:2024-10-25 08:26:06

安<a href=https://www.elefans.com/category/jswz/34/1764436.html style=卓开发toolbar设置logo"/>

安卓开发toolbar设置logo

本篇笔记用来记录常用的Toolbar设置,如Toolbar颜色设置,显示返回按钮,显示右边三个点按钮

之前Android 使用的ActionBar,Android5.0开始,谷歌官方推荐使用Toolbar来代替ActionBar

最近慢慢开始使用上kotlin了,贴出的代码可能是kotlin的代码,见谅,如果有Java基础的,其实还蛮简单上手的,可以参考一下我的kotlin学习笔记

1.使用Toolbar替换ActionBar

我们首先将主题设置为NoActionBar,之后在布局xml文件添加ToolBar

由Android Manifest文件进入Theme,修改Theme

@color/colorPrimary

@color/colorPrimaryDark

@color/colorAccent

布局xml文件,添加Toolbar

xmlns:android=""

xmlns:app=""

xmlns:tools=""

android:layout_width="match_parent"

android:fitsSystemWindows="true"

android:layout_height="match_parent"

tools:context="com.wan.noveldownloader.activity.MainActivity">

android:id="@+id/toolbar"

app:titleTextColor="@color/white"

android:background="@color/colorPrimary"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

之后,在Activity代码中,使用setSupportToolbar,把toolbar设置进去

setContentView(R.layout.activity_main);

//findviewbyid找到toolbar实例

setSupportToolbar(toolbar);

之后运行就可以看到结果了

2.修改标题文字

默认的Toolbar显示的文字其实就是你当前APP项目的label,我们到AndroidManifest文件修改Activity的label属性,就可以达到修改文字的效果

上图中,我的APP有两个Activity,其中,MainActivity中的toolbar没有定义label属性,所以,默认label属性等于项目名,所有显示的是“星之小说下载器”

而另外的那个SettingActivity则有label属性,所有,显示的文字就是“设置”

PS:如果不想要显示文字,则通过getSupportActionBar().setDisplayShowTitleEnabled(false)实现(在setSupportToolbar方法之后)

3.修改颜色

修改背景色

修改背景颜色通过修改toolbar的background属性达到效果

android:id="@+id/toolbar"

android:background="@color/colorPrimary"

android:layout_height="wrap_content"/>

修改标题文字颜色

修改titleTextColor属性,需要引入app命名空间

android:id="@+id/toolbar"

app:titleTextColor="@color/white"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

4.显示左边返回按钮

通过代码的方式显示左边的返回按钮

setSupportActionBar(toolbar)

getSupportActionBar().setHomeButtonEnabled(true)

getSupportActionBar().setDisplayHomeAsUpEnabled(true)

Activity中还需要重写onOptionsItemSelected方法,点击返回按钮达到返回的效果

override fun onOptionsItemSelected(item: MenuItem?): Boolean {

if(item.itemId == android.R.id.home){

finish()

}

return super.onOptionsItemSelected(item)

}

如果需要标题和返回按钮为白色,在toolbar控件添加下面的两行属性

app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

app:popupTheme="@style/ThemeOverlay.AppCompat.Light"

5.显示Toolbar的菜单按钮

1.创建menu.xml

在res目录下创建一个menu的文件夹,之后在menu文件夹中新建一个menu.xml

xmlns:app="">

title 标题

icon 图标

showAsAction

此属性有几个选择

always:这个值会使菜单项一直显示在Action Bar上。

ifRoom:如果有足够的空间,这个值会使菜单项显示在Action Bar上。

never:这个值使菜单项永远都不出现在Action Bar上。

withText:这个值使菜单项和它的图标,菜单文本一起显示。

2.重写onCreateMenu方法

重写Activity中的onCreateMenu的方法,把menu.xml文件装载到APP中

override fun onCreateOptionsMenu(menu: Menu?): Boolean {

menuInflater.inflate(R.menu.menu,menu)

return true

}

3.重写opOptionSelect方法

设置每个菜单的点击事件,与设置监听器操作类似

override fun onOptionsItemSelected(item: MenuItem?): Boolean {

if (item?.itemId ==R.id.menu_setting) {

startActivity(SettingActivity::class.java)

}

return false

}

4.setSupportToolbar

和之前的步骤一样

Android源码浅析(四)——我在Android开发中常用到的adb命令,Linux命令,源码编译命令

Android源码浅析(四)--我在Android开发中常用到的adb命令,Linux命令,源码编译命令 我自己平时开发的时候积累的一些命令,希望对你有所帮助 adb是什么?: adb的全称为Andr ...

Android开发中常用的库总结&lpar;持续更新&rpar;

这篇文章用来收集Android开发中常用的库,都是实际使用过的.持续更新... 1.消息提示的小红点 微信,微博消息提示的小红点. 开源库地址: ...

Android开发调试常用命令列表

Android开发调试常用命令列表 adb命令 am am start -n com.iflytek.autofly.account/.ui.MainActivity am start -n com. ...

Android开发工具常用快捷键大全

Android开发中常用的开发工具有android studio和eclipse两种,下面小编整理了一些这两种开发工具中常用的快捷键,使用这些快捷键,你的android编程将事半功倍. android ...

Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式

作者:程序员小冰,CSDN博客: QQ986945193 博客园主页: ...

Android开发中常用的ListView列表的优化方式ViewHolder

在Android开发中难免会遇到大量的数据加载到ListView中进行显示, 然后其中最重要的数据传递桥梁Adapter适配器是常用的,随着市场的需 求变化ListView'条目中的内容是越来越多这就 ...

android开发之-软件设置保存-快速学会使用SharedPreferences篇-实测

我们在设计软件的时候,需要记录软件设置的基本信息,那么怎么来保存他们呢?我们可以使用SharedPreferences.   SharedPreferences是一个xml文件,用来存储软件的常规设置 ...

Android开发中常用的设计模式

首先需要说明的是,这篇博文灵感来自于 .html ,在这里,博主已经很 ...

Android Studio中常用设置与快捷键

常用设置: 1.Tab不用4个空格Code Style->Java->Tabs and Indents->Use tab characterCode Style->Genera ...

随机推荐

gdb调试常用实用命令和core dump文件的生成

1.生成core dump文件的方法: $  ulimit -c //查看是否为0 如果为0 $   ulimit -c unlimited 这样在程序崩溃以后会在当前目录生成一个core.xxx ...

mybatis 批量更新

nodeJs中创建服务器

var http=require('http'); var httpObj=http.createServer(function(req,res) { console.log('someBody:' ...

fork系统调用(转载)

(1) fork系统调用说明 fork系统调用用于从已存在进程中创建一个新进程,新进程称为子进程,而原进程称为父进程.fork调用一次,返回两次,这两个返回分别带回它们各自的返回值,其中在父进程中的返 ...

python解析页面上json字段

一般来说,当我们从一个网页上拿下来数据,就是一个字符串,比如: url_data = urllib2.urlopen(url).readline() 当我们这样得到页面数据,url_data是全部页面 ...

MySQL全世界最流行的开源数据库软件

誉天全国首推全球市场占有率第二的数据库——MySQL培训课程,阿里巴巴.新浪等知名企业正在使用MySQL数据库系统,而这方面的人才需求也是供不应求,誉天作为国内2014年首批ORACLE官方授权MyS ...

P - Shopaholic

P - Shopaholic Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit ...

10&period;25最后的模拟赛DAY1 answer

QAQ太困了,大概说一下自己的思路: 其实这题很容易看错题目或是想错,就比如我个傻逼,一开始以为p+q一定等于n.... 咳咳...其实这题不用想太多,我们可以通过这n个字符串一个个假设正确或是不正确 ...

selinux基本概念

TE模型 主体划分为若干组,称为域 客体划分为若干组,每个组称为一个类型   DDT(Domain Definition Table,域定义表,二维),表示域和类型的对应访问权限,权限包括读写执行 一 ...

大量的rcuob进程

环境: OS:Centos 7 问题,今天采购了一台dell R430机器,启动发现大量的如下进程[root@localhost opt]# toptop - 02:07:57 up 6:39, 2 ...

更多推荐

安卓开发toolbar设置logo

本文发布于:2024-02-12 17:39:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1688759.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:卓开发   toolbar   logo

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!