本發(fā)明涉及終端技術(shù)領(lǐng)域,特別涉及一種自定義桌面圖標的顯示方法及系統(tǒng)。
背景技術(shù):
目前,隨著通信技術(shù)的發(fā)展,智能終端的應(yīng)用程序也越來越豐富,例如“微信”、“微博”或“QQ”等等應(yīng)用程序。對于這些應(yīng)用程序,在智能終端的桌面上都有與它們對應(yīng)的圖標,這些圖標往往是傳統(tǒng)桌面圖標,例如可以呈“十”字形排列,或者“口”字形排列等,以方便用戶通過觸摸或按壓按鍵等方式啟動這些圖標所對應(yīng)的應(yīng)用程序。
但是,現(xiàn)有的電子設(shè)備的桌面上顯示的應(yīng)用圖標都是一個固定圖標下面帶有應(yīng)用的名字(中文或英文等等),用戶無法根據(jù)自己的需要選擇相應(yīng)的圖標,給用戶的使用帶來不便。
因而現(xiàn)有技術(shù)還有待改進和提高。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的不足,提供一種自定義桌面圖標的顯示方法及系統(tǒng),以解決現(xiàn)有電子設(shè)備的桌面上顯示的應(yīng)用圖標無法根據(jù)自己需求選擇相應(yīng)圖片的技術(shù)問題。
為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案如下:
一種自定義桌面圖標的顯示方法,其包括:
當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面獲取用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片;
將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù);
關(guān)閉所述圖片選擇界面并更新桌面顯示圖標。
所述自定義桌面圖標的顯示方法,其中,所述更改桌面顯示圖標的控制指令為當桌面需要更換的應(yīng)用圖標被長按所產(chǎn)生的更改桌面顯示圖標的控制指令。
所述自定義桌面圖標的顯示方法,其中,所述將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù)具體包括:
判斷所述獲取圖片類型,其中,所述圖片類型為靜態(tài)圖片或動態(tài)圖片;
當所述圖片類型為靜態(tài)圖片時,將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù)。
所述自定義桌面圖標的顯示方法,其中,所述將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù)還包括:
當所述圖片類型為動態(tài)圖片時,提示用戶重新選擇圖片。
所述自定義桌面圖標的顯示方法,其中,所述當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面獲取用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片具體包括:
當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選取界面;
監(jiān)聽用戶選擇圖片指令,根據(jù)所述指令獲取其對應(yīng)的用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片。
一種自定義桌面圖標的顯示系統(tǒng),其包括:
獲取模塊,用于當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面獲取用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片;
更改模塊,用于將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù);
更新模塊,用于關(guān)閉所述圖片選擇界面并更新桌面顯示圖標。
所述自定義桌面圖標的顯示系統(tǒng),其中,所述更改桌面顯示圖標的控制指令為當桌面需要更換的應(yīng)用圖標被長按所產(chǎn)生的更改桌面顯示圖標的控制指令。
所述自定義桌面圖標的顯示系統(tǒng),其中,所述更改模塊具體包括:
判斷單元,用于判斷所述獲取圖片類型,其中,所述圖片類型為靜態(tài)圖片或動態(tài)圖片;
第一執(zhí)行單元,用于當所述圖片類型為靜態(tài)圖片時,將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù)。
所述自定義桌面圖標的顯示系統(tǒng),其中,所述更改模塊還包括:
第一執(zhí)行單元,用于當所述圖片類型為動態(tài)圖片時,提示用戶重新選擇圖片。
所述自定義桌面圖標的顯示系統(tǒng),其中,所述獲取模塊具體包括:
進入單元,用于當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選取界面;
獲取單元,當監(jiān)聽到用戶選擇圖片指令,根據(jù)所述指令獲取其對應(yīng)的用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片。
有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種自定義桌面圖標的顯示方法和系統(tǒng),所述方法包括:當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面獲取用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片;將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù);關(guān)閉所述圖片選擇界面并更新桌面顯示圖標。本發(fā)明通過當接收到更改桌面顯示應(yīng)用圖標的控制指令時,采用用戶選擇的圖片作為該應(yīng)用的圖標,實現(xiàn)了應(yīng)用圖標的自定義設(shè)置,解決了現(xiàn)有電子設(shè)備的桌面上顯示的應(yīng)用圖標無法根據(jù)自己需求選擇相應(yīng)圖片的技術(shù)問題,使得電子產(chǎn)品增加了新功能。
附圖說明
圖1為本發(fā)明提供的自定義桌面圖標的顯示方法較佳實施的流程圖。
圖2為本發(fā)明提供的自定義桌面圖標的顯示系統(tǒng)的結(jié)構(gòu)原理圖。
具體實施方式
本發(fā)明提供一種自定義桌面圖標的顯示方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖,通過對實施例的描述,對發(fā)明內(nèi)容作進一步說明。
請參照圖1,圖1為本發(fā)明提供的自定義桌面圖標的顯示方法的較佳實施例的流程圖。所述方法包括:
S100、當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面獲取用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片。
具體地,所述接收到更改桌面顯示應(yīng)用圖標的控制指令指的是電子設(shè)備接收到用戶發(fā)送的更改桌面顯示應(yīng)用圖標的控制指令。所述電子設(shè)備為采用android系統(tǒng)的電子設(shè)備,如智能手機、平板電話、智能電視等。
所述控制指令通常是采用觸摸手勢直接在電子設(shè)備的觸摸屏上進行觸摸操作來完成的,例如,用戶可以先點擊觸摸屏上傳統(tǒng)桌面上的某一個圖標達到設(shè)定時間,假設(shè)設(shè)定時間可以為2秒,然后在桌面頂部顯示更改圖標的選項,用戶點擊所述選項即產(chǎn)生更改桌面顯示應(yīng)用圖標的控制指令。當然,預(yù)先將更改應(yīng)用圖標的控制指令與觸摸手勢進行綁定,在電子設(shè)備監(jiān)聽到所述觸摸手勢的時,產(chǎn)生相應(yīng)的控制指令。
在本實施例中,當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面,所述圖片選擇界面所顯示的圖片可以為電子設(shè)備所有的圖片,如電子設(shè)備圖片應(yīng)用中存儲的所有圖片;也可以是用戶預(yù)約設(shè)置的用于作為應(yīng)用程序圖標的相冊。所述進入圖片選擇界面可主要通過調(diào)用Android通用接口,去搜索圖片而實現(xiàn)。其具體新建一個Intent,通過setType函數(shù)獲取圖片,其具體可以為:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*")。
在更改桌面顯示應(yīng)用圖標之前還包括一個預(yù)先設(shè)置步驟,其具體可以為:預(yù)先創(chuàng)建用于存放應(yīng)用程序圖標的數(shù)據(jù)庫,并將用于作為用于程序圖標的圖片存儲于所述數(shù)據(jù)庫;將所述數(shù)據(jù)庫與更改應(yīng)用圖標的控制指令相關(guān)聯(lián)。這樣,當接收到更改應(yīng)用圖標的控制指令時,進入圖標選擇界面,圖標選擇界面所顯示的所有圖片為預(yù)先創(chuàng)建的應(yīng)用程序圖標數(shù)據(jù)庫的圖標。
進一步,由于用戶選擇的用于作為應(yīng)用程序圖標的圖片的尺寸、分辨率等不滿足圖標的要求,從而在將用于程序圖標的圖片存儲于所述數(shù)據(jù)庫之前還可以包括對所述圖片進行處理,其具體可以為:獲取應(yīng)用程序圖標的尺寸以及分辨率,根據(jù)所述尺寸以及分辨率對圖片進行處理。當然,在對所述圖片的尺寸及分辨率進行處理的時候,可以提示用于選擇所述圖片用于作為應(yīng)用圖標的部分,對所述選中部分進行處理使其滿足應(yīng)用圖標的要求。
在本實施例中,當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面獲取用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片具體可以為:
當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面;
監(jiān)聽用戶的選擇指令,并根據(jù)所述選擇指令獲取其對應(yīng)的用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片。
在本發(fā)明的另一個實施例中,所述更改桌面顯示應(yīng)用圖標的控制指令還可以包括:對所述應(yīng)用圖標的背景顏色顯示、布局顯示、字體顯示類別、文字大小顯示、區(qū)域大小顯示、圖標分組管理指令。例如需要修改靜態(tài)瓦片“應(yīng)用商城”圖標的布局以及背景顏色,可長按“應(yīng)用商城”圖標彈出菜單設(shè)置欄即可對圖標背景顏色以及圖標顯示布局進行隨意切換設(shè)置,設(shè)置后即可預(yù)覽和生效。
S200、將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù)。
具體地,當確定用于替換圖標的圖片后,桌面程序?qū)⑵鋬?nèi)所述應(yīng)用對應(yīng)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù)。其可以通過調(diào)用函數(shù):
LauncherAppState.getInstance().getIconCache().updateIcon(componentName,fullSize);
LauncherAppState.getInstance().getModel().forceReload();
實現(xiàn)所述應(yīng)用對應(yīng)的圖標數(shù)據(jù)的修改。
進一步,在將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù)之前還可以包括一個判斷過程,判斷所述圖片的類型,其中,所述圖片的類型為靜態(tài)圖片或動態(tài)圖片。由于現(xiàn)有的桌面應(yīng)用程序的圖片都是采用的靜態(tài)圖片,而在電子設(shè)備中可能存儲有動態(tài)圖片,從而在獲取到替換圖片時,需要判斷所述圖片為動態(tài)圖片還是靜態(tài)圖片,使得所述替換圖片滿足應(yīng)用圖片的要求,提高圖標替換的成功率。
在判斷出圖片的類型之后,對上述的兩種不類型的圖片進行不同的操作。如果所述圖片類型為靜態(tài)圖片,則將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片。如果所述圖片類型為動態(tài)圖片則提示用戶所選擇的圖片類型不對,需要重新選擇圖片。
S300、關(guān)閉所述圖片選擇界面并更新桌面顯示圖標。
具體地,當選擇圖片并根據(jù)所述圖片篡改Launcher內(nèi)獲取的所述應(yīng)用程序圖標的數(shù)據(jù)后,電子設(shè)備關(guān)閉圖片選擇界面并通知所述Launcher刷新,Launcher程序?qū)⑺鰬?yīng)用程序圖標切換為該自定義圖片。
在實際應(yīng)用中,本實施例中的自定義桌面圖標的方法可以采用如下代碼實現(xiàn):
public class ChangeIconTarget extends ButtonDropTarget{
private Context mContext;
public ChangeIconTarget(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public ChangeIconTarget(Context context, AttributeSet attrs, int defStyle){
super(context, attrs, defStyle);
mContext = context;
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
// Get the hover color
mHoverColor = getResources().getColor(R.color.info_target_hover_tint);
setDrawable(R.drawable.ic_info_launcher);
}
@Override
protected boolean supportsDrop(DragSource source, Object info) {
mDragObject = (AppInfo)info;
return info instanceof ShortcutInfo||
info instanceof AppInfo ||
info instanceof PendingAddItemInfo;
}
private AppInfo mDragObject;
@Override
void completeDrop(DragObject d) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 5);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Bitmap fullSize = null;
if (requestCode == 5 && resultCode == Activity.RESULT_OK) {
if (data != null && data.getData() != null) {
Uri uri = data.getData();
try {
InputStream inputStream = new BufferedInputStream(
mContext.getContentResolver().openInputStream(uri));
if (inputStream != null) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 1;
fullSize = BitmapFactory.decodeStream(inputStream, null, options);
}
ComponentName componentName = mDragObject.componentName;
LauncherAppState.getInstance().getIconCache().updateIcon(componentName,fullSize);
LauncherAppState.getInstance().getModel().forceReload();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
}。
本發(fā)明還提供了一種自定義桌面圖標的顯示系統(tǒng),如圖2所示,其包括:
獲取模塊100,用于當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選擇界面獲取用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片;
更改模塊200,用于將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù);
更新模塊300,用于關(guān)閉所述圖片選擇界面并更新桌面顯示圖標。
所述自定義桌面圖標的顯示系統(tǒng),其中,所述更改桌面顯示圖標的控制指令為當桌面需要更換的應(yīng)用圖標被長按所產(chǎn)生的更改桌面顯示圖標的控制指令。
所述自定義桌面圖標的顯示系統(tǒng),其中,所述更改模塊具體包括:
判斷單元,用于判斷所述獲取圖片類型,其中,所述圖片類型為靜態(tài)圖片或動態(tài)圖片;
第一執(zhí)行單元,用于當所述圖片類型為靜態(tài)圖片時,將所述應(yīng)用位于桌面程序內(nèi)的圖標數(shù)據(jù)修改為所述圖片對應(yīng)的數(shù)據(jù)。
所述自定義桌面圖標的顯示系統(tǒng),其中,所述更改模塊還包括:
第一執(zhí)行單元,用于當所述圖片類型為動態(tài)圖片時,提示用戶重新選擇圖片。
所述自定義桌面圖標的顯示系統(tǒng),其中,所述獲取模塊具體包括:
進入單元,用于當接收到更改桌面顯示應(yīng)用圖標的控制指令時,進入圖片選取界面;
獲取單元,當監(jiān)聽到用戶選擇圖片指令,根據(jù)所述指令獲取其對應(yīng)的用于替換所述控制指令對應(yīng)的應(yīng)用圖標的圖片。
在本發(fā)明所提供的實施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個裝置,或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取存儲器(Random Access Memory,RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。