在Kotlin和Anko庫(kù)出來之后,我就很少用xml來寫布局了,一般都是直接用Anko寫。和寫xml一樣,不但省去了解析xml的開銷,而且在布局時(shí)還能進(jìn)行邏輯判斷,可以說非常好用了。
但是問題來了,直接用代碼寫不能預(yù)覽布局是一個(gè)很頭疼的事情。我之前寫的時(shí)候一邊看著UI一邊碼布局代碼,雖然說只要多寫界面心里自然有那么一把稱來衡量控件的屬性,但還是不夠直觀。特別是一些復(fù)雜的布局,一分神就不知道寫哪兒了,還是比較消耗精神力的。
接著我就想能不能寫個(gè)插件把寫好的xml轉(zhuǎn)成代碼。用xml來預(yù)覽布局,然后用插件一轉(zhuǎn)換就直接變成代碼。然后我就入坑了,IDEA的插件開發(fā)真的找不到什么技術(shù)博客,全是點(diǎn)個(gè)菜單彈個(gè)消息,有毛用???(摔鹽?。。。?/p>
我是不是有點(diǎn)話癆,嗯,應(yīng)該還好吧。好了不廢話,下面進(jìn)入正題。


安裝完插件以后,重啟生效。然后選中一個(gè)layout下面的xml文件。

然后選擇"Code"菜單下面的"Convert Layout Xml to Kotlin Anko"

這樣就會(huì)在java目錄下生成anko文件夾,anko文件夾下會(huì)生成一個(gè)Activity。你就可以把里面的布局代碼直接復(fù)制到你自己的Activity里面使用。
最后是一些小提示:
1.該插件基于Android Studio(IDEA),kotlin和anko庫(kù)。
2.生成kt文件可能打不開,把文件夾收起來再展開可能是IDE沒有刷新本地文件成功,如果有大神碰到這種情況知道怎么解決請(qǐng)留言或發(fā)郵箱,謝謝。
3.該插件并不支持所有的屬性,只支持一些常用的屬性,各位也可以發(fā)屬性到我郵箱,會(huì)盡量盡快添加更新插件。
4.對(duì)于不支持的屬性會(huì)自動(dòng)注釋并提示"not support attribute"。
最后的最后,GitHub