Android 删了 XML 预览,现在你必须学 Compose 了

打开最新版 Android Studio Meerkat。

找到你的 XML 布局文件,点一下右上角的 Design 标签。

看到那个提示了吗------这个可视化编辑器,已经被标记为废弃(Deprecated)了。

Google 没有绕弯子。Meerkat 版本里,拖拽组件、所见即所得的 Design 面板,正在被移除。下一个版本,它就彻底消失。

被删的是什么

很多人第一反应是:XML 布局要被废弃了?

不是。XML 文件本身还在,还能写,还能跑。

被删的是 Layout Editor 里的 Design 视图------就是那个可以拖拽 Button、设置 Constraint 的可视化面板。

以前你打开一个 XML 文件,右上角有三个标签:Code / Split / Design

现在 Design 标签加了废弃警告。未来它会消失,只剩 Code 和 Split。

功能 状态
手写 XML 代码 ✅ 继续支持
Split 分屏视图 ✅ 继续支持
Design 可视化拖拽面板 ⚠️ 已废弃,即将移除
Compose @Preview ✅ 持续投入

Google 为什么这么做

原因很直接------维护两套预览系统,成本太高,而且没有意义。

XML 的 Design 视图,本质上是一个"模拟渲染器",它要猜测你的 View 在运行时长什么样,然后在 IDE 里画出来。这套机制复杂、不稳定,随着 Android 系统升级,兼容性越来越难维护。

Compose 的 @Preview 走的是完全不同的路------它直接调用真实的 Composable 函数来渲染,结果和真机一致。

Google 选边站了。

一边是越来越难维护的 XML 模拟渲染器,一边是和真机行为一致的 Compose Preview。资源有限,只能砍一个。

这件事对你意味着什么

如果你的项目全是 Compose:没有任何影响,该怎么写怎么写。

如果你的项目还在用 XML 写新 UI:短期内可以继续用 Code/Split 视图手写,Design 面板消失不影响编译运行。但这是一个明确的信号------Google 不再投资 XML 工具链。

如果你还没开始学 Compose:这是最后的窗口期。

不是危言耸听。

Android Studio 的每一次工具更新,Compose 侧都有新功能------更快的预览、Gemini AI 辅助生成代码、实时编辑。XML 侧什么都没有,只有删减。

工具的投资方向,就是技术的方向。

现在应该怎么办

如果你是个人开发者:

新项目直接用 Compose,不要再用 XML 开了。学习成本有,但就一次。

如果你在维护老项目:

不需要立刻重写。XML 文件本身不会消失,老代码继续跑没问题。但新增的页面、新的功能模块,可以开始用 Compose 来写,逐步过渡。

Compose 和 XML 可以共存------ComposeView 让你在 XML 布局里嵌入 Compose,AndroidView 让你在 Compose 里复用旧的 View 组件。

如果你完全没学过 Compose:

从哪开始?官方的 Compose 基础 Codelab 是最好的起点,两三个小时能跑完,有感性认识之后再看文档。

核心概念其实就三个:@Composable 函数、状态驱动 UI、Modifier 链式调用。理解这三个,剩下的都是 API 熟悉度问题。

时间线

  • 现在(Meerkat):Design 面板标记废弃,显示警告 banner
  • 下一个主版本:Design 面板彻底移除
  • 长期:XML Layout Editor 只保留代码编辑能力,无可视化预览

窗口已经关上一半了。


你现在的项目,XML 和 Compose 各占多少比例?评论区聊聊。

相关推荐
Fate_I_C21 小时前
Kotlin 协程:串行/并行请求、async/await、coroutineScope 管理并发、重试机制
android·代码规范
山河梧念21 小时前
【保姆级教程】VMware虚拟机安装全流程
android·java·数据库
常利兵21 小时前
Kotlin类型魔法:Any、Unit、Nothing 深度探秘
android·开发语言·kotlin
y小花21 小时前
安卓vold服务
android·linux·运维
明天就是Friday21 小时前
Android实战项目⑤ Paging 3开发社交媒体信息流App 完整源码详解
android·媒体
宋拾壹1 天前
php网站小程序接入抖音团购核销
android·小程序·php
莫逸风1 天前
【java-core-collections】B+ 树深度解析
android·java·开发语言
我命由我123451 天前
Android 开发问题:无法从存储库 “D:\keys\MyNotifications.jks“ 中读取密钥 MyNotifications.
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
AI玫瑰助手1 天前
Python基础:字符串的切片操作(含正向反向索引)
android·开发语言·python
落羽的落羽1 天前
【算法札记】练习 | Week2
android·linux·服务器·c++·python·算法·机器学习