Android Studio中XML布局空格与空行去除问题求助
解决Android Studio XML格式化的两个问题
嘿,我来帮你搞定这两个XML格式化的问题!你说的Command + Option + L(Mac上的格式化快捷键)没生效,大概率是因为Android Studio的默认格式化规则没开启这两个去除选项,咱们一步步来调整:
一、去除XML中的空行
要让格式化时自动清除多余空行,需要调整XML的代码风格设置:
- 打开Android Studio设置:Mac上按
Command + ,(逗号),Windows/Linux是File > Settings - 导航到
Editor > Code Style > XML - 切换到Blank Lines标签页:
- 在
Keep maximum blank lines区域,把所有条目(比如Between elements、Inside root tag、Between declarations)的数值都改成0 - 再切换到Other标签页,勾选
Remove trailing blank lines at the end of file(清除文件末尾的空行)
- 在
- 点击
Apply保存设置,再按Command + Option + L格式化,空行就会被自动清除了
二、去除XML布局标签内的空格
这里分两种情况,对应不同的处理方式:
情况1:标签内属性间/标签名与属性间的多余空格
比如把<TextView android:id="@+id/tv" android:text="Test"/>里的多个空格改成单个空格,设置步骤:
- 同样进入
Editor > Code Style > XML设置页 - 切换到Wrapping and Braces标签页
- 找到
Attribute spacing区域:- 确保
Space before attribute name设为1(只保留一个空格) - 勾选
Remove extra spaces between attributes(自动合并属性间的多余空格)
- 确保
- 保存设置后用格式化快捷键,多余的空格就会被合并成单个
情况2:属性值前后的多余空格
比如android:text=" Hello World "里的属性值首尾空格,格式化快捷键默认不会处理,需要用批量替换:
- 按
Command + Shift + R打开全局替换(或单个文件用Command + R) - 在
Find框输入正则表达式:="\s*(.*?)\s*" - 在
Replace框输入:="$1" - 勾选
Regex选项,点击Replace All即可批量清除所有属性值首尾的空格
内容的提问来源于stack exchange,提问作者Rasoul Miri
相关产品推荐
相关产品推荐

