Android 如何在 Android Studio 2.2 版本實現 refresh 操作?
Android Studio 2.2 版本的 Layout Editor 發生了很大變化,Design 和 Preview 窗口的結構和樣式做了很多改進。本文記錄一個有關 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 ,這樣 Desgin 和 Prefrew 窗口就會報錯,如圖:
注意在右下角的提示信息中有個 Tip 內容,點擊 refresh 按鈕(清理緩存),然后再將圖片的引用名稱修改回來,預覽圖中就會顯示正確的新圖標:
來自:http://yifeng.studio/2016/11/07/android-android-studio-2-2-preview-refresh-issue/