在編寫布局文件的時候凹联,常常需要預覽一下所寫布局的樣子浪汪。雖然 Android Studio 的 Preview 功能已經大大改進淹朋,但還是不能滿足我們所有預覽的需求宽菜,還有一些痛點亟待解決舀透。
為預覽時候編寫的參數(shù),無法自動在正式APK中自動失效长窄。
RecyclerView 無法正確預覽液走,也沒有辦法進行一些參數(shù)指定。
針對上訴痛點钱慢,其實官方早就給出了解決方案刻剥,提供了針對 Design-Time 相關的方案,只需要引入 tools 的命名空間即可滩字。更多知識參考官方文檔 -- Tools Attributes Reference 造虏。
xmlns:tools="http://schemas.android.com/tools"
接下來看看,tools 是如何幫助我們解決預覽時候的痛點的麦箍。
預覽時候的 View 屬性
在 XML 文件里漓藕,可以通過 tools:{attribute}
來設置 view 相關的屬性,而這些屬性將只會被Android Studio layout editor
使用挟裂,實現(xiàn)了 Design-Time 與 Compile-Time 的分離享钞,這也就意味著,通過這種方式制定的屬性在打出來的包中是不生效的诀蓉。
例如栗竖,一個顯示姓名的 TextView,默認 text 屬性為空渠啤,而我們可以通過設置 tools:text=‘full-name’
狐肢,這樣在預覽的時候就可以看到。又或者一個 VIP 標記View沥曹,默認不可見份名,但你又想知道其位置對不對,那就可以通過 tools:visibility='visible'
, 在預覽界面查看妓美。
我們常用的屬性僵腺,在tools中都得到了支持,諸位可放心食用(好吃...)壶栋。
RecyclerView 的特殊支持
在編寫好一個 RecyclerView 的 XML 文件后辰如,直接在預覽查看時,會發(fā)現(xiàn)是 item0, item1, item2 的簡單羅列贵试,這顯然不是我們想要的答案琉兜。tools 也提供了解決方案 -- tools:listitem
凯正。在下圖可以看到,設置后的效果呕童。
除此之外漆际,還有其他強大的功能哦淆珊。
itemCount 指定預覽時夺饲,item 的數(shù)量。
listheader/listfooter 指定預覽時施符,recycle 的頭部/底部
預覽自動生成的數(shù)據(jù)
有些時候往声,我們甚至不必去編輯 tools 中具體的值,Android Studio 提供了一些常見數(shù)據(jù)的 mock 值,通過 "@tools:sample/*"
進行指定。現(xiàn)在回過頭看看上面的例子圖片碎赢,有沒有發(fā)現(xiàn)每個 item 的頭像和名字都不一樣了痊银?
在上圖中,列舉了一些官方提供的 sample data吹泡。
這還沒完哦,Android Studio 甚至提供了自定義 SampleData 的入口,在項目目錄中普筹,右鍵 new 即可看到 Sample Data Directory
的選項。在進行自定義后隘马,即可通過文件名
進行調用了哦太防。由于界面介紹的知識已經大體上滿足了我們 Preview 的需求了,這里就不進行展開酸员,如果諸位有這方面需求的話蜒车,查看 Tool Time 這篇文章吧。
文檔信息
- 版權聲明:自由轉載-非商用-非衍生-保持署名(創(chuàng)意共享3.0許可證)
- 發(fā)表日期:2018年1月29日
- 社交媒體:weibo.com/woaitqs
- Feed訂閱:www.woaitqs.cc/feed.xml