Android Studio 2.2 版本的 Layout Editor 發生了很大變化,Design 和 Preview 窗口的結構和樣式作了不少改進,功能區介紹能夠參考官方網站:Build a UI with Layout Editor。本文記錄一個有關 refresh 操做的問題。html
還記得在 Android Studio 2.2 版本以前的 refresh 按鈕嗎?有時候修改資源文件後,並不能在 preview 窗口中即時生效,使用這個刷新按鈕便可解決這個問題。但在此次改版中,這個刷新按鈕被 Google 去掉了:android
如圖,左圖是 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
按鈕(清理緩存),而後再將圖片的引用名稱修改回來,預覽圖中就會顯示正確的新圖標:ui
固然,這只是一種臨時解決方案,但願下個版本的 Android Studio 可以修復這個問題吧。感謝萬能的 stack overflow
幫我解決了這個問題:3d
本文由 亦楓 創做並首發於 亦楓的我的博客 ,同步受權微信公衆號:技術鳥(NiaoTech),歡迎關注。code