編輯:關於Android編程
前兩天寫的上章關於換膚的功能獲得了很好的反響,今天為大家介紹另一種方式。今天實現的策略也是網友建議的,然後我自己去寫了個demo,大家自己評估下相比第一種方式的優勢和劣勢在哪裡。
簡單介紹下關於第一種關於換膚實現的方法一些不友好的地方,比如點擊了換膚的功能鍵,需要先下載一個資源apk,然後再去引用其中的資源ID,於用戶使用起來確實有有很多不便之處。今天為大家介紹的方法是克服了這一弊端的,可以實現直接在應用內切換,把資源文件存儲在本地apk的,讀取和操作也是更加便捷的,下面介紹下大致的一個實現邏輯。
一般實現換膚的功能有這麼幾點:一是圖片資源的替換;二是文字顏色、大小、文字內容的更改。本次實現的策略都是基於asserts目錄去實現的,假設有兩套皮膚可以更換,我們需要在asserts文件夾下新建對應兩套皮膚的目錄,而他們其中擁有相同名稱的資源(包括圖片資源和properties文件)。使用第一套皮膚的話就調用第一目錄下的所有資源,調用第二套皮膚的話就使用另一目錄下的資源。由於引用asserts下的資源不需要像res資源一樣,而是需要通過AssertManager調用對應的資源路徑就可以實現,所以實現起來相對R文件會稍稍麻煩麻煩一點。關於文字顏色等的屬性的變化都是統一保存在properties裡面,需要調用的話也只是調用Properties中屬性值就可以了,非常簡單方便。下面為大家演示下簡單的使用。
一、關於圖片資源的引用
<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPtK7sOO809TYzbzGrLvhzai5/cG91ta3vcq9yKXKtc/Wo6zSu8rHQml0bWFwo6y2/srHRHJhd2FibGWho9XiwO/Ssra809DBy8bkyrXP1rXEt723qKGjPC9wPgo8cD4KPHN0cm9uZz62/qGiudjT2lRleHRWaWV3yvTQ1CYjMjA1NDA7tcS809TYPC9zdHJvbmc+PC9wPgo8cD4KPHN0cm9uZz48L3N0cm9uZz48L3A+CjxwPgo8aW1nIHNyYz0="/uploadfile/Collfiles/20140811/2014081110193762.jpg" alt="\">
加載TextView屬性值之前,記得一定要先初始化Properties,所有的屬性值都是在properties中。
三、使用
點擊按鈕切換皮膚內容。
今天的文章比較短,大家如有好的想法或者其他換膚好的實現,請私信我,我會在下面幾天整理後繼續為大家介紹。
源碼地址:https://github.com/JackCho/SkinChangeDemo2
如果覺得對你有所幫助,歡迎大家訂閱我的微信公眾賬號——Android干貨分享(ID:android_share)。下面是微信的二維碼,為你提供及時高質的Android干貨。
對於華為P9 Plus如何截屏的還不太清楚,新一代旗艦華為P9於今年的年初已經正式上市,相信已經有不少的花粉們已經入手了,但是現在有一些網友對該機的一些操作
有很多地方要用到DatePickerDialog。但有時項目用到的主題樣式是很丑的樣式,顯示出來的真丑。而我們真正想要的樣式是這樣的。這個就漂亮多了。而且很多的時候都不需
SharedPreference:1.是一種輕型的數據存貯方式2.本質是基於xml文件存貯key_value鍵值對數據3.通常用來存貯一些簡單的配置信息(密碼,窗口狀態,
今天給大家帶來2017年的第一篇文章,這裡先祝大家新年好。本篇文章的主題是ConstraintLayout。其實ConstraintLayout是AndroidStudi