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的问题,运行几次或者重启打开就好了