Android Studio 2.2 版本的 Layout Editor 发生了很大变化,Design 和 Preview 窗口的结构和样式做了很多改进,功能区介绍可以参考官方网站:Build a UI with Layout Editor。本文记录一个有关 refresh 操作的问题。

还记得在 Android Studio 2.2 版本之前的 refresh 按钮吗?有时候修改资源文件后,并不能在 preview 窗口中即时生效,使用这个刷新按钮即可解决这个问题。但在这次改版中,这个刷新按钮被 Google 去掉了:




如图,左图是 Android Studio 2.2 版本的布局预览图,没有 refresh 按钮;右图是 Android Studio 2.1 版本的布局预览图,拥有 refresh 按钮。


既然被去除掉了,那应该是新版 Android Studio 实现了自动刷新实时显示视图的功能了吧。然而事实不尽如此。举个开发中很常见的例子:




如图,布局中用到了一个图片资源 ic_lock.png。现在需求改变了,这个图标要替换成另一个图片。正常做法就是拿到 UI 给到的图标,重命名为相同的名字,然后复制到对应的 drawable 或者 mipmap 文件下,覆盖即可。然而你会发现,在 Design 和 Preview 窗口中显示的还是之前的图标!这时,重新打开布局文件,或者使用 Rebuild Project 命令重新编译都不能解决这个问题,甚至有时候重启 Android Studio 也不起任何作用。这也许是新版 Android Studio 的一个 BUG 吧。


经过一番搜索,在 stack overflow 上找到一种解决方案,欣喜若狂。做法很简单,在布局的 Text 窗口中将引用的资源名称故意写错,比如这里的 @mipmap/ic_lock,将其写成 @mipmap/ic_lock1,这样 DesginPrefrew 窗口就会报错,如图:




注意在右下角的提示信息中有个 Tip 内容,点击 refresh 按钮(清理缓存),然后再将图片的引用名称修改回来,预览图中就会显示正确的新图标:




当然,这只是一种临时解决方案,希望下个版本的 Android Studio 能够修复这个问题吧。感谢万能的 stack overflow 帮我解决了这个问题:


How to refresh preview on Android Studio 2.2?

备注:头条不支持外链,建议阅读作者博客文章,地址如下:


1.《androidstudio如何降低版本》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《androidstudio如何降低版本》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3234880.html