android應(yīng)用怎么換皮膚。。???
國(guó)內(nèi)有很多的軟件都支持皮膚定制,這也是與國(guó)外軟件重大不同之一,國(guó)外用戶(hù)注重社交、郵件等功能,國(guó)內(nèi)用戶(hù)則重視音樂(lè)、小說(shuō)、皮膚等功能,本節(jié)課程就來(lái)講解Android應(yīng)用程序如何實(shí)現(xiàn)換膚功能。 軟件換膚從功能上可以劃分三種: 1) 軟件內(nèi)置多個(gè)皮膚,不可由用戶(hù)增加或修改; 最低的自由度,軟件實(shí)現(xiàn)相對(duì)于后兩種最容易。 2) 官方提供皮膚供下載,用戶(hù)可以使用下載的皮膚; 用戶(hù)可選擇下載自己喜歡的皮膚,有些玩家會(huì)皮膚的定制方法,自己做皮膚使用,或者傳到網(wǎng)上給大家用。 3) 官方提供皮膚制作工具或方法,用戶(hù)可自制皮膚。 這
種方式使用戶(hù)有參與感,自由度較高。用戶(hù)可根據(jù)自己的喜好定制軟件的皮膚。有些軟件官網(wǎng)提供皮膚定制的工具或者方法,我建議最好有可視化帶向?qū)У墓ぞ摺S?/p>
戶(hù)只要自己找一些圖片、修改文字的字體替換就可以了。用戶(hù)可以上傳自制的皮膚,提供其他用戶(hù)下載,還可以賺得一些虛擬貨幣或者獎(jiǎng)品什么的。這種一般都是打
包為.zip格式的。擴(kuò)展名可由各公司自定義,有制作工具的話(huà)直接導(dǎo)出來(lái)最方便。 首先我們要弄清楚換膚的定義,軟件皮膚包括圖標(biāo)、字體、布局、交互風(fēng)格等,換膚就是換掉皮膚包括的部分或所有資源。 前面提到的三種皮膚,從軟件實(shí)現(xiàn)上來(lái)看,它們的本質(zhì)區(qū)別是皮膚是否內(nèi)置到應(yīng)用程序中。對(duì)于內(nèi)置的實(shí)現(xiàn)比較簡(jiǎn)單,只要在開(kāi)發(fā)應(yīng)用的過(guò)程中設(shè)計(jì)幾套皮膚供用戶(hù)選擇。這里用到的知識(shí)不超過(guò)Android基礎(chǔ),不詳細(xì)講解。 本節(jié)課程重點(diǎn)講解如何實(shí)現(xiàn)皮膚與應(yīng)用程序分離。 皮
膚一般含有多個(gè)文件,例如圖片、配置等文件,分散的文件不利于傳輸和使用,最好打包。打包的格式一般選擇zip格式。這里分兩種情況,一種是apk,例如
AdwLauncher,它的桌面皮膚格式是一個(gè)apk;另一種是自定義擴(kuò)展名,例如墨跡天氣皮膚擴(kuò)展名是mja,搜狗輸入法的皮膚擴(kuò)展名是sga,它們
的文件格式實(shí)際上都是zip。 下面我們分別講解。 一.a(chǎn)pk格式 現(xiàn)在的問(wèn)題變成了一個(gè)應(yīng)用如何讀取另一個(gè)apk中的資源。 在android系統(tǒng)中,apk之間可以相互讀取數(shù)據(jù)的條件是:有同樣的簽名,并且AndroidManifest.xml文件中配置的android:sharedUserId屬性值相同,那么兩個(gè)apk運(yùn)行在同一個(gè)進(jìn)程中,可以互相訪(fǎng)問(wèn)任意數(shù)據(jù)。 方法如下: 1) 應(yīng)用程序和皮膚程序的AndroidManifest.xml中配置 例如: android:sharedUserId=org.yuchen 2) 文件與應(yīng)用apk中對(duì)同一功能的皮膚文件名要一致 例如:應(yīng)用程序的背景圖片路徑:\SkinDemo\res\drawable-hdpi\bg.png 那么皮膚apk中的背景圖片文件路徑也應(yīng)該是: CustomSkin\res\drawable-hdpi\bg.png 3)訪(fǎng)問(wèn)資源的方法 Context context = createPackageContext(com.yuchen.customskin, Context.CONTEXT_IGNORE_SECURITY); 獲取到org.yuchen.customskin對(duì)應(yīng)的Context,通過(guò)返回的context對(duì)象就可以訪(fǎng)問(wèn)到org.yuchen.customskin中的任何資源。 例如:應(yīng)用apk要獲得皮膚apk中的bg.png, Drawable drawable = context.getResources().getDrawable(R.drawable.bg); 這樣就得到了圖片的引用,其他xml資源文件的獲取方式也是類(lèi)似的。 二.自定義擴(kuò)展名的zip格式的皮膚 技術(shù)點(diǎn)在于如何去讀取zip文件中的資源以及皮膚文件存放策略。 方
案:如果軟件每次啟動(dòng)都去讀取SD卡上的皮膚文件,速度會(huì)比較慢。較好的做法是提供一個(gè)皮膚設(shè)置的界面,用戶(hù)選擇了哪一個(gè)皮膚,就把那個(gè)皮膚文件解壓縮
到”/data/data/[package
name]/skin”路徑下,這樣不需要跨存儲(chǔ)器讀取,速度較快,而且不需要每次都去zip壓縮包中讀取,不依賴(lài)SD卡中的文件,即使皮膚壓縮包文件被
刪除了也沒(méi)有關(guān)系。 實(shí)現(xiàn)方法: 1. 在軟件的幫助或者官網(wǎng)的幫助中提示用戶(hù)將皮膚文件拷貝到SD卡指定路徑下。 2. 在軟件中提供皮膚設(shè)置界面??梢栽诓藛位蛘咴谠O(shè)置中??蓞⒖寄E、搜狗輸入法、QQ等支持換膚的軟件。 3. 加載指定路徑下的皮膚文件,讀取其中的縮略圖,在皮膚設(shè)置界面中顯示,將用戶(hù)選中的皮膚文件解壓縮到”/data/data/[package name]/skin”路徑下。 4. 軟件中優(yōu)先讀取”/data/data/[package name]/skin/”路徑下的資源。如果沒(méi)有則使用apk中的資源
制作qq透明皮膚
方法一:下載QQ皮膚編輯器: QQ皮膚編輯器界面親切、友好,擁有所見(jiàn)即所得編輯環(huán)境,方便大家更輕松完成QQ皮膚的整個(gè)制作過(guò)程。此外還提供了皮膚預(yù)覽,可以更便捷的在QQ上隨時(shí)查看新皮膚的實(shí)際效果。 地址: 包括內(nèi)容: 1、皮膚編輯器的各項(xiàng)基本操作方法,如皮膚新建、打開(kāi)和生成、預(yù)覽打包等 2、制作皮膚全過(guò)程中,用到的皮膚編輯器中的屬性設(shè)置說(shuō)明以及部分制作技巧 3、《中國(guó)龍》皮膚制作的整個(gè)過(guò)程介紹 方法二: 做一個(gè)完整的QQ皮膚需要不少東西,但是最簡(jiǎn)單的方法是用現(xiàn)成的。先打開(kāi)QQ文件夾(默認(rèn)路徑是C:\Program Files\Tencent),再打開(kāi)Skin,新建一個(gè)文件夾(名字取好聽(tīng)一點(diǎn)的,呆會(huì)兒是要在你的QQ中出現(xiàn)的)。然后再打開(kāi)“蘭色”這個(gè)皮膚文件夾,選定名為“skin”的文件,復(fù)制,再粘貼到新建的文件夾里。OK,已經(jīng)做好一半了。 下面我們就可以選擇想要的圖像了。用右鍵點(diǎn)擊選好的圖,選擇“目標(biāo)另存為”,在“保存圖片”窗口中把文件名改為“main”,在保存類(lèi)型下拉框中選“位圖(*.bmp)”,然后把文件保存在新建的文件夾里。恭喜你,現(xiàn)在已經(jīng)基本上做好了!現(xiàn)在再點(diǎn)擊QQ上的“ ”,看看,是不是有一個(gè)新東西?哈哈,那就是你做的皮膚! 有時(shí)候這樣做的皮膚會(huì)顯得有一點(diǎn)比例失調(diào)。沒(méi)關(guān)系,只要打開(kāi)我們新建的那個(gè)文件夾,再打開(kāi)Skin文件,把里面的“maxwidth=200”語(yǔ)句改為“maxwidth=400”或者是“maxwidth=500”,然后點(diǎn)QQ上的“ ”,再點(diǎn)一下新建皮膚,就可以把QQ拉大到我們喜歡的大小了。 怎么樣,這樣的辦法對(duì)于新手是不是很簡(jiǎn)單?這里要說(shuō)明幾點(diǎn): 1.我們選擇的圖像一定要是位圖(bmp)格式; 2.圖像文件的名字一定要是“main”; 3.這種方法是用QQ自帶的“蘭色”皮膚文件夾里的配置設(shè)置文件的,由于是對(duì)于新手,所以在其它方面沒(méi)有加更多的東西(比如說(shuō)按鈕的設(shè)置等); 4.QQ的皮膚是沒(méi)有數(shù)量限制的,你可以想做多少就做多少。
