android studio 升级 Android Studio Dolphin | 2021.3.1 Patch 1后,xml布局预览界面报错
一开始以为是那些警告导致的,有很多黄色的xml警告,比如命名的名字不是英文,或者设置了各种颜色值警告,或者系统要求你添加 contentDescription
其实不是这些,因为之前就存在,没个布局不可能都加一堆废属性,看着就很不爽,后来发现一个红色的警告,自己没当回事
我查了一下整个布局,这个就是 ShapeableImageView 才会用到的 material 属性,而且我已经加过了
于是我又找了一下相关的api,发现跟我有个相似的api,一开始我是用的 shapeAppearanceOverlay,但是其实还有一个 shapeAppearance 属性
于是我看了下,同样可以达到效果,不过 shapeAppearanceOverlay 是一个处理覆盖层的属性,我抱着试一试的态度,改成了 shapeAppearance ,结果好了
另外还有个坑爹的,就是很多自定义控件,需要判断 View.isInEditMode() ,这个方法表示 xml 布局文件预览可视化编辑,as预览时不需要执行具体代码,所以需要跳过,
否则也无法预览,只能说恶心,这个方法要么更新控件,新版本自带处理过了,要么降级
如果是自己定义的view还好,可以修改,但是这里用的是 MaterialCardView,虽然布局可以看xml自己判断位置调整布局,但是没预览是真的难受
当然,你也可以不用这个库,直接用CardView,也可以避免这个问题,我只能说真的很无语
View.isInEditMode

你会发现xml中会随着你的改动刷新异常,只要根据异常在相应的位置判断一下就行了
有时候xml刷新很慢,添加了还是会提示错误,这个时候不用管,是as的问题,运行几次或者重启打开就好了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 【.NET】调用本地 Deepseek 模型