当前位置: 首页 > news >正文

Android Studio新版本New UI及相关设置丨遥遥领先版

1、前言

俗话说工欲善其事必先利其器嘛,工具用不好怎么行呢,借着Android Studio的更新,介绍一下新版本中的更新内容,以及日常开发中那些好用的设置。

2、关于新版本

2.1、最新正式版本

Android Studio Giraffe | 2022.3.1 Patch 1
Build #AI-223.8836.35.2231.10671973, built on August 17, 2023

正式版2023.08.17还是挺新的。

2.2、版本对应关系

Android Studio版本AGP版本API级别上限
Android Studio Giraffe3.2-8.133

2.3、下载地址

Giraffe:
https://developer.android.google.cn/studio
预览版Hedgehog、Lguana下载:
https://developer.android.google.cn/studio/preview

3、启用New UI

3.1、关于New UI

重新设计的主题旨在降低视觉复杂性,让用户更轻松地使用基本功能,并酌情显示复杂功能,从而打造现代、简洁的外观和风格。
主要更改如下:

  • 简化了主工具栏,新增了 VCS、Project 和 Run widget
  • 工具窗口采用了新的布局
  • 新增了一些浅色主题和深色主题,带有对比鲜明且色调一致的调色板
  • 新增了图标集,更易于辨识

简而言之就是四新:新工具栏、新工具窗口、新主题、新图标。

3.2、启用

打开设置,在Appearance & Behavior下有一个New UI的选项,apply and restart 即可体验Android Studio(IntelliJ)的新界面主题。
new ui.png

3.3、新界面主题一览

一览.png
视觉上,整体的画风变化挺大,主要表现在图标、字体、和颜色上,还有顶部的主菜单栏和左上、左下、右上的工具栏,以及底部的导航栏变化。

3.3.1、顶部主菜单

主菜单.png

  • 左边第一个是项目名,点击可以切换,比之前方便了。左边第二个是Git Branch,也就是Version Control,把分支和项目放在一起关联起来,这点还是挺人性化的,我很喜欢;
  • 中间是devices和run小部件;
  • 右边是工程编译+搜索+设置+Account;

看到外网有人说,图标太大,还有“run”那一块的小部件太亮,emmm 我倒觉得整体更清晰了。

3.3.2、工具栏

工具栏(tool windows)有三部分,左上、左下、右上。
左上:
左上.png
左上是Project+Resource Manager+收起的部分工具

  • Project默认是收起的,点击可展开我们的项目文件列表;
  • 有些工具默认是收藏在**···**中的,比如我比较喜欢用的 TODO,点击会展开工具窗口,并常驻显示在工具栏;

左下:
左下.png
左下是之前放在底部的Terminal、Logcat等。
长按图标可以进行拖动排序,也可以随意拖动到左上、左下、右上、右下的工具栏中。
不常用的也可以收起来,右键图标点击Hide,会放到 ···
hide.png

右上:
右上.png
这一块主要是device管理、Gradle、三方工具。
还有原来底部的通知挪上来了,不习惯的可以拖到右下角的工具栏去。

3.3.3、导航栏

导航栏.png
原先在顶部的导航栏挪到底部来了。
如果你像我一样还会习惯导航栏在顶部的话,可以在View > Appearance > Navigation Bar中进行设置:
Navigation Bar.png

3.3.4、紧凑模式

如果你觉得现在的风格图标太大、间隔太大,且使用IntelliJ IDEA开发的话,可以在View > Appearance > Compact Mode中来设置开启或关闭,或者Appearance and Behavior > New UI > enable the Compact mode option
不过这个设置只在新版的IntelliJ IDEA上有,Android Studio中并没有。

4、编辑器Tab

editor.png
这一部分文字和间隔都比之前更大了,虽然官方说是「以获得更好的易读性」,但是默认只显示一行的情况下,多点开几个文件就找不到最开始的了,或者不想被回收的文件被回收掉不显示了,这样反而影响效率。
所以我一般会设置成多行的(两行),
Settings > Editor > General > Editor Tabs > Show tabs in > Multiple rows
multip.png

5、设置JDK版本

近来不管是升级Android Studio还是AGP,在相互版本约束的情况下,会出现JDK版本限制的问题,又或是新版本默认的JDK 11 导致的编译报错,有时候需要去改一下兼容项目的JDK版本。
Settings > Build,Execution,Deployment > Build Tools > Gradle > Gradle JDK
jdk.png

6、乱码问题

有时候升级新版本之后,文件里面的中文注释会出现乱码的情况,这时候需要我们手动去修改一下文件编码。
Settings > Editor > File Encodings
encoding.png
别忘了把properties文件的编码格式也设置一下。

7、字体大小

我更新之后感觉整体字体偏小,默认是13,我个人调到15在外接显示器上感觉合适。
字体大小分为两部分,一个是IDE的,一个是代码的。
IDE:
Settings > Appearance & Behavior > Appearance > Font > Size
system size.png
代码:
Settings > Editor > Font > Size
code size.png

8、Logcat

Logcat的新变化在Android Studio Dolphin版本就有了,最大的变化莫过于日志的颜色(Scheme)和日志的筛选(Filter)。
logcat.png

8.1、Scheme

日志等级的颜色比以前更清晰更容易区分了,不需要再自定义设置了。
当然如果你想,可以在 Android Studio > Settings > Editor > Color Scheme 中进行设置。

8.2、Filter

默认是package:mine,对应以前你的包名,当然也是可以改的,Android Studio > Settings > Tools > Logcat

改版之后的Filter使用键值对的方式查询:

  • tag:与日志条目的 tag 字段匹配。
  • package:与日志记录应用的软件包名称匹配。
  • process:与日志记录应用的进程名称匹配。
  • message:与日志条目的消息部分匹配。
  • level:与指定或更高严重级别的日志匹配,例如 DEBUG。
  • age:如果条目时间戳是最近的,则匹配。值要指定为数字,后跟表示时间单位的字母:s 表示秒,m 表示分钟,h 表示小时,d 表示天。例如,age: 5m 只会过滤过去 5 分钟内记录的消息。

查询条件是可以有多个的,比如package + tag + level:

package:mine tag:yechaoa level:debug 

查询条件也是可以写表达式的,支持& |以及括号优先级,比如:

package:mine & ( tag:yechaoa | level:debug )

等等…

历史的记录也支持联想,只要你在Logcat设置中勾选这个:
tags.png

另外,常用的筛选语句可以选择收藏,在Show history中会优先展示。

8.3、Buffer Size

如果你看日志调试的时候经常出现read: unexpected EOF!,这是因为日志太多把Logcat缓存刷爆了。
可以选择clear再来一次,如果还是刷爆,那可以加上tag,减少冗余日志的输出,也更高效。
当然也可以设置Logcat的缓冲区大小,网上比较多的方案是使用adb logcat -G 4m或者在开发者选项里面设置日志记录器缓冲区大小
其实也还有一个更简单的方式,就是在AS里面设置:
buffer.png
默认是1024KB

9、大小写提示

如果你在引用类或者变量的时候,因为输入的是小写而IDE没有提示的时候,你就需要设置一下匹配大小写了。
Mac:
Settings > Editor > General > Code Completion > Match case > 取消
match.png
Win:
Settings > Editor > General > Code Completion > Case sensitive completion > None

10、文件头

一般新建类文件时会有默认的File Header,比如 Created by xxx。
如果你想自定义,可以在Settings > Editor > File and Code Templates > Includes >File Header中设置
header.png

11、遥遥领先版

一个彩蛋
遥遥领先.png
蹭下华为的流量,给AS改了个名字,有很多人问是怎么搞的,其实非常简单。。
应用程序 > 重命名,然后重新打开就可以了。

12、最后

本文就介绍这些了,其实每次新版本都会更新挺多信息,比如对Compose更好的支持、更好的升级助理等等,关于新版本更多信息,也可点击下方文档地址查看。

13、相关文档

  • Android Studio Giraffe | 2022.3.1
  • IntelliJ IDEA New UI
  • Main-changes-and-known-issues
  • View logs with Logcat

相关文章:

Android Studio新版本New UI及相关设置丨遥遥领先版

1、前言 俗话说工欲善其事必先利其器嘛,工具用不好怎么行呢,借着Android Studio的更新,介绍一下新版本中的更新内容,以及日常开发中那些好用的设置。 2、关于新版本 2.1、最新正式版本 Android Studio Giraffe | 2022.3.1 Pat…...

新型人工智能技术让机器人的识别能力大幅提升

原创 | 文 BFT机器人 在德克萨斯大学达拉斯分校的智能机器人和视觉实验室里,一个机器人在桌子上移动一包黄油玩具。通过达拉斯分校计算机科学家团队开发的新系统,机器人每推动一次,就能学会识别物体。 新系统允许机器人多次推动物体&#xf…...

聚观早报|蚂蚁集团发布“蚁天鉴”;vivo X100系列即将亮相

【聚观365】9月12日消息 蚂蚁集团发布“蚁天鉴” vivo X100系列即将亮相 台积电8月份营收59亿美元 8月公共充电桩环比增加6.1万台 吴泳铭接替张勇出任阿里云代理董事长与CEO 蚂蚁集团发布“蚁天鉴” 蚂蚁集团发布大模型安全一体化解决方案“蚁天鉴”。该方案包含了大模型…...

读高性能MySQL(第4版)笔记05_优化服务器设置

1. 除非遇到异常情况,否则不需要调整配置 1.1. 不要“调优”服务器,不要使用比率、公式或“调优脚本”作为设置配置变量的基础 1.1.1. 在互联网上搜索配置建议并不总是一个好主意,你会在博客、论坛等找到很多糟糕的建议 1.1.2. 很难判断谁…...

Spring Boot跨域问题简介

什么是跨域问题? 在Web开发中,跨域指的是在浏览器中访问一个不同于当前域名的资源。浏览器出于安全考虑,限制了这种跨域资源的访问。具体来说,当浏览器使用XMLHttpRequest或Fetch API发送跨域请求时,目标服务器必须在…...

【Java】过滤器和拦截器区别

文章目录 前言1、过滤器 (Filter)2、拦截器 (Interceptor)3、我们不一样3.1、实现原理不同3.2、使用范围不同3.3、触发时机不同 4、拦截的请求范围不同5、注入Bean情况不同6、控制执行顺序不同总结 前言 准备环境 我们在项目中同时配置 拦截器 和 过滤器。 1、过滤器 (Filter…...

es滚动查询分析和使用步骤

ES在进行普通的查询时,默认只会查询出来10条数据。我们通过设置es中的size可以将最终的查询结果从10增加到10000。如果需要查询数据量大于es的翻页限制或者需要将es的数据进行导出又当如何? Elasticsearch提供了一种称为"滚动查询"&#xff08…...

飞书公式总结

文本处理函数 飞书中的表格,需要实现 内容内容1条件1内容2条件2内容3条件3今天是周一;可以出去玩今天是周一能今天天气不错不能可以出去玩能 条件1,2,3为能时,把对应的内容1,内容2,内容3复制到内容 TEX…...

vue3.2 导出pdf文件或表格数据

要在Vue 3中导出PDF文件,你可以使用第三方库来处理PDF生成和导出。一个常用的库是jspdf,它允许你在客户端或服务器端生成PDF文档。 以下是在Vue 3中使用jspdf库导出PDF文件的基本步骤: 第一步首先,安装jspdf库。你可以使用npm或ya…...

Linux学习--MySQL学习之查询语句

所有实现基于mysql8.0.26实现,事例代码 1:常用函数 字符函数数学函数日期函数聚集函数数学计算if函数case函数 函数:MySQL服务内置命令 语法:函数名(表头名) select格式 SELECT 函数(表头名) FROM 库名.表名; SE…...

三、视频设备的枚举以及插拔检测

一、前言 本章主要讲述,如何获取设备名称以及guid,采集设备的采集格式识别,设备的插拔 设备列表以及属性的获取使用的directshow(后续的MediaFoundation无法获取OBS摄像头) 设备的插拔使用的是QT 捕获系统消息,捕获到设备插拔后&a…...

Qt开发_调用OpenCV(4.x)完成人脸检测并绘制马赛克(摄像头实时数据)

一、前言 这个基于Qt和OpenCV的人脸检测和人脸打码项目是通过实时视频流中的人脸识别来保护隐私。 该项目目的是保护隐私并确保人脸数据安全。在某些情况下,使用实时视频流进行人脸检测和识别可能涉及对个人隐私的侵犯。通过在图像中打码人脸区域,可以避免未经许可的人脸出…...

ssl证书有效期为什么越来越短?

随着互联网的发展和网络安全意识的提升,SSL证书在保护网络通信安全方面起到了极为重要的作用。SSL证书通过加密通信数据,确保信息在传输过程中不被窃取或篡改,为用户提供了安全可靠的网络环境。然而,近年来SSL证书的有效期不断缩短…...

XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http)

原理 常见的存在HTTP头注入的参数 User-Agent:使得服务器能够识别客户使用的操作系统,浏览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中) Cookie:网站为了辨别用户身份进行se…...

Java——》JVM对原生的锁做了哪些优化

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...

华为云云耀云服务器L实例评测|用docker搭建frp服务测试

华为云云耀云服务器L实例评测|用docker搭建frp服务测试 0. 环境 华为云耀云L实例EulerOS 1. 安装docker 检查yum源,本EulerOS的源在这里: cd /etc/yum.repos.d 更新源 yum makecache 安装 yum install -y docker-engine 运行测试 d…...

群狼调研(长沙满意度调查专业公司)开展公交车乘客满意度调查

在城市的喧嚣中,公交车是我们日常出行的重要工具。那么,公交车的服务是否满足我们的期待?它还有哪些改进的空间?在这篇文章中,群狼调研**(长沙汽车制造商满意度调查)**通过一个深入的公交车乘客满意度调查,为您解答这些问题。 …...

Spring与OAuth2:实现第三方认证和授权的最佳实践

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

Mysql的定时备份与恢复

MySQL定时备份与还原 MySQL备份方案 物理备份:这种备份方式将数据库的实际文件复制到另一个位置。常见的物理备份工具包括mysqldump和Percona XtraBackup。具体操作如下: 使用mysqldump 命令备份数据库: mysqldump -u username -p database_…...

学习Java基础面试题第五天

一、Java面试题第五天 1.spring字符串的最大长度 转自:String字符串的最大长度是多少?在学习和开发过程中,我们经常会讨论 short ,int 和 long 这些基本数据类型的取值范围,但是对于 String 类型我们好像很少注意它的…...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!

今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线&#xf…...

JavaScript 标签加载

目录 JavaScript 标签加载script 标签的 async 和 defer 属性,分别代表什么,有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...