android換膚總結(jié)

1.通過(guò)設(shè)置不同的style ##

這種方式是通過(guò)設(shè)置theme 然后activity reCreate重新調(diào)用activity 設(shè)置主題必須在oncreate()方法 并且在setContentveiw()方法之前 才有效

這篇文章就是利用這種方式切換主題

缺點(diǎn)是:需要重啟activity

換膚技術(shù)總結(jié)

換膚總結(jié)2

最終方案按照這個(gè)實(shí)現(xiàn)的android-skin-load 動(dòng)態(tài)加載skin包

//https://github.com/burgessjp/ThemeSkinning/? 在android-skin-load的基礎(chǔ)上封裝的

2.Android-Skin-Loader

http://mp.weixin.qq.com/s/MSLsoMGHyxiZ0q7fxR3zvg

加載皮膚包

其內(nèi)部通過(guò)反射調(diào)用AssetManager.addAssetPath()把外部的皮膚資源加載到AssetManager中影斑,并通過(guò)該AssetManager創(chuàng)建相應(yīng)的Resource裕便。當(dāng)執(zhí)行換膚操作的時(shí)候,就可以設(shè)置需要換膚View的相關(guān)屬性為Resource中相應(yīng)的資源

代碼中的細(xì)節(jié)

1.每個(gè)skinAttr記錄的是某個(gè)需要換膚的view的 id background 以及對(duì)應(yīng)的 color / colortitlebar_bg skinAttr -----某個(gè)換膚view 的單個(gè)屬性的一系列字段

2.然后將每個(gè)skinAttr 添加到 ListviewAttrs-----添加某個(gè)view換膚時(shí)所要更改的屬性(可以是多個(gè)屬性)

3.SkinItem (View view; Listattrs; ) 用于封裝單個(gè)view和其需要換膚的對(duì)應(yīng)的屬性集合

4.ListmSkinItems 將所有skinitem進(jìn)行存儲(chǔ) 換膚時(shí)遍歷刷新

關(guān)鍵的兩個(gè)判斷

boolean isSkinEnable = attrs.getAttributeBooleanValue(SkinConfig.NAMESPACE, SkinConfig .ATTRSKINENABLE, false); 先做 skin:enable="true" view里是否有這個(gè)屬性的判斷

if (!AttrFactory.isSupportedAttr(attrName)) 這個(gè)判斷是看自己是否支持這個(gè)屬性 里面一般不全 需要自己添加

更換皮膚

主要根據(jù)ListmSkinItems 遍歷刷新 每個(gè)skinitem 用自己的id從skinmanager獲取資源中的color background

skinmanager //里面的資源的獲取需要自己實(shí)現(xiàn)

public int getColor(int resId)

getDrawable(int resId)



源碼分析 setcontentview(R.layout.xx)的過(guò)程








最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末堕油,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖案怯,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異澎办,居然都是意外死亡嘲碱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)浮驳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)悍汛,“玉大人捞魁,你說(shuō)我怎么就攤上這事至会。” “怎么了谱俭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵奉件,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我昆著,道長(zhǎng)县貌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任凑懂,我火速辦了婚禮煤痕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己摆碉,他們只是感情好塘匣,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著巷帝,像睡著了一般忌卤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上楞泼,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天驰徊,我揣著相機(jī)與錄音,去河邊找鬼堕阔。 笑死棍厂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的印蔬。 我是一名探鬼主播勋桶,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼侥猬!你這毒婦竟也來(lái)了例驹?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤退唠,失蹤者是張志新(化名)和其女友劉穎鹃锈,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體瞧预,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屎债,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了垢油。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盆驹。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖滩愁,靈堂內(nèi)的尸體忽然破棺而出躯喇,到底是詐尸還是另有隱情,我是刑警寧澤硝枉,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布廉丽,位于F島的核電站,受9級(jí)特大地震影響妻味,放射性物質(zhì)發(fā)生泄漏正压。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一责球、第九天 我趴在偏房一處隱蔽的房頂上張望焦履。 院中可真熱鬧拓劝,春花似錦、人聲如沸嘉裤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)价脾。三九已至牧抵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侨把,已是汗流浹背犀变。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秋柄,地道東北人获枝。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像骇笔,于是被迫代替她去往敵國(guó)和親省店。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,303評(píng)論 25 707
  • 今天再給大家?guī)?lái)一篇干貨笨触。 Android的主題換膚 懦傍,可插件化提供皮膚包,無(wú)需Activity的重啟直接實(shí)現(xiàn)無(wú)縫...
    _SOLID閱讀 99,730評(píng)論 147 1,120
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點(diǎn)贊按鈕進(jìn)度條TabLayout圖標(biāo)下拉刷新...
    皇小弟閱讀 46,791評(píng)論 22 665
  • 南京芦劣,是個(gè)我一直夢(mèng)想的城市粗俱,有深厚的文化底蘊(yùn),也有美好的愛(ài)情虚吟,而我愛(ài)它的溫婉也愛(ài)它的文秀寸认,與世無(wú)爭(zhēng)卻又始終那么不可...
    凌依吟閱讀 142評(píng)論 0 0