本發(fā)明涉及移動終端技術領域,更具體地,涉及一種下載過程中主題圖標的建立方法和裝置,同時涉及一種便攜式移動終端。
背景技術:
通過第三方安裝程序進行程序安裝時,通常使用軟件靜默安裝。靜默安裝指的是安裝時無需任何用戶干預,直接按默認設置安裝,這對于無特殊需求的用戶或將軟件集成于安裝光盤是較為有效的。靜默安裝也可以稱為無人值守安裝,在安裝過程中可以靜默安裝好預先設計集成的一些常用軟件,安裝結束以后就可以直接使用。在靜默安裝時,為了讓用戶看到下載安裝進度,通常的做法是用后臺運行,當安裝結束后彈出窗口提醒,或者在桌面上直接顯示進度條。
一種靜默安裝過程中顯示進度的方法是:在啟動靜默安裝程序后,每隔預定時間對安裝目錄進行掃描以獲得安裝目錄的當前大小;將所述當前大小與預定安裝目錄大小進行比較以獲得當前安裝進度并顯示,其中,所述預定安裝目錄大小通過下面步驟獲得:在每次程序靜默安裝完成時獲取該程序該次安裝目錄的總大小;對安裝目錄的總大小求平均并作為所述預定安裝目錄大小。上述方法通過進度條的方式顯示安裝進度,提升用戶體驗。
然而,上述方法不能夠滿足使用桌面主題的用戶,即無法生成一種能夠與當前桌面主題一致的圖標。
技術實現要素:
鑒于上述問題,本發(fā)明提出了一種下載過程中主題圖標的建立方法和相應的裝置,其在下載過程中提供了生成與桌面主題一致的主題圖標的方法。
本發(fā)明的另一目的在于提供一種便攜式移動終端。
第一方面,本發(fā)明提供了一種下載過程中主題圖標的建立方法,包括如下步驟:
響應于用戶對應用商店中應用程序的下載指令,獲取該應用程序的圖標;
根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標;
在桌面顯示所述主題圖標及其下載進度。
首先,當用戶點擊應用商店的某個應用程序時,移動終端響應于用戶的點擊指令,識別用戶所點擊的應用程序,然后從相應文件夾中獲取該應用程序的圖標;然后,根據當前用戶所使用的桌面主題生成一個與預下載應用程序相對應的主題圖標;最后,在桌面顯示主題圖標和下載進度。本方案采用識別桌面主題的方式直接生成對應桌面主題的主題圖標而不需要做后序的美化工作,可以提高移動終端的工作效率,能夠生成與用戶所使用的桌面主題一致的圖標,具有美化界面、直觀的效果,提高用戶體驗。
結合第一方面,在第一方面的第一個實施例中,在桌面顯示所述主題圖標及其下載進度的步驟包括如下具體步驟:
在桌面顯示所述主題圖標;
調用預設形狀函數獲取所述主題圖標的大小、形狀參數;
調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;
獲取當前主題圖標的下載進度,根據所述預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;
覆蓋所述灰色進度遮罩到所述主題圖標上。
在桌面顯示主題圖標后,還需要直觀的顯示下載進度。步驟包括如下:首先在桌面顯示生成的主題圖標;繼而調用預設形狀函數獲取主題圖標的大小、形狀參數為生成與主題圖標大小、形狀一致的灰色遮罩做準備;繼而調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;繼而通過讀取文件夾的方式獲得當前的下載進度,并采用預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;最后覆蓋該灰色進度遮罩到所述主題圖標上,從而通過刷新方式達到動態(tài)顯示下載進度的效果。采用這種方法顯示下載進度具有直觀的效果,提升用戶體驗。
結合第一方面,在第一方面的第二個實施例中,調用刷新函數刷新覆蓋在該主題圖標上的灰色進度遮罩,以根據所述灰色進度遮罩跟蹤該應用程序的下載進度。
在裁剪完灰色遮罩生成灰色進度遮罩后,需要將灰色進度遮罩覆蓋到主題圖標上,需要刷新覆蓋在主題圖標上的隨著進度增加而逐漸變小的灰色進度遮罩,從而顯示出動態(tài)效果,提升用戶體驗。
結合第一方面的第二個實施例,當滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩。
在滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩,從而節(jié)約刷新操作占據過多的系統(tǒng)內存,提升用戶體驗。
結合第一方面的第二個實施例,所述預設條件包括以下任意一項:
當前桌面置于后臺;
當前桌面正處于滑動頁面;
當前桌面正處于編輯模式;
當前桌面正在執(zhí)行動畫;
當前正在執(zhí)行拖拽動作;
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內;
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài);
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。
在本實施例中,設置預設條件對所述應用程序圖標進行刷新,從而減少不必要的刷新操作,節(jié)約系統(tǒng)內存,保證系統(tǒng)運行流暢,從而提升用戶體驗。如下所述:
當前桌面置于后臺時,用戶沒有必要正在桌面上顯示的下載進度,此時可以免去刷新操作。
當前桌面正處于滑動頁面時,用戶可能關注的重點并不是下載進度,此時可以省略刷新操作。
當前桌面正處于編輯模式時,例如用戶在添加小工具、選壁紙以及進入桌面設置時,為避免桌面上有過多操作而停止刷新操作。
當前桌面正處于執(zhí)行動畫時,刷新圖標的操作是一個低優(yōu)先級操作,為執(zhí)行高優(yōu)先級的桌面動畫而停止刷新灰色進度遮罩。
當前正在執(zhí)行拖拽動作時,調用相應函數檢測當前桌面上是否有應用程序的圖標正處于拖拽動作,當有拖拽動作時圖標處于滑動狀態(tài),此時為避免桌面上有過多操作而停止刷新灰色進度遮罩。當在應用商店中選定一個應用程序下載時,會在桌面上創(chuàng)建一個該應用的快捷方式(Shortcut)的View,同時將該應用的包名、圖標以及應用名存儲在桌面的數據庫中,本發(fā)明的刷新機制是在以下條件時停止刷新:
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內,即當前該快捷方式的View在文件夾內且文件夾關閉或者當前該View不在正在打開的文件內。
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài),即當前該快捷方式的View在桌面或者Hotseat,且文件夾處于打開狀態(tài)。
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。即當前該快捷方式的View在桌面或者Hotseat,且該View所在的Screen不在當前桌面所處的Screen。
在當前所述應用程序快捷方式的視圖不在正在打開的文件夾內、當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài)。
結合第一方面的第二個實施例,當檢測不滿足預設條件時調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩。
當不滿足預設條件時,調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩,從而繼續(xù)顯示下載進度,從而提升用戶體驗。
結合第一方面,在第一方面的第三個實施例,計算所述灰色遮罩的面積,當所述應用程序下載進度變化時,按照下載進度占總進度的比例相應地對所述灰色遮罩裁剪掉同等比例的面積以生成灰色進度遮罩。
本領域內技術人員可以理解,裁剪掉的灰色遮罩的面積占總的灰色遮罩的面積的比例與當前下載量占總下載量的比例一致,根據這種比例關系所計算出來的需要裁剪的比例和需要裁剪的面積準確、可靠。
結合第一方面,在第一方面的第四個實施例,所述裁剪對應于下載進度的灰色進度遮罩的方式包括扇形裁剪和條形裁剪。
結合第一方面,在第一方面的第五個實施例,所述灰色遮罩為半透明遮罩。
采用半透明的灰色遮罩具有直觀的效果,在顯示進度的同時還能夠顯示圖標的形狀和大小,因此可以提高用戶體驗。
結合第一方面,在第一方面的第六個實施例,所述灰色遮罩層位于頂層,所述主題圖標層位于所述灰色遮罩層的下一層。
本發(fā)明以主題桌面為背景,依次疊加主題圖標層和灰色遮罩層,灰色遮罩層位于主題圖標層的頂部,主題圖標層位于灰色遮罩層和桌面背景的中間層。
結合第一方面,在第一方面的第七個實施例:
接收應用商店或者桌面的任何一個當中對所述主題圖標的進度改變指令;
根據相應回調函數回調應用程序或應用商店,改變應用程序的下載進度。
根據應用商店或者桌面的任何一個對主題圖標的改變進度指令,例如暫停、取消等指令,根據相應回調函數回調應用程序或者應用商店,從而完成暫停下載傳輸或停止傳輸并刪除,從而改變應用程序的下載進度。
結合第一方面,在第一方面的第八個實施例,在調用刷新函數刷新在所述主題圖標上的灰色進度遮罩時,在所述主題圖標下方顯示進度條。
在調用刷新函數刷新在主題圖標上的灰色進度遮罩時,可同時顯示下載進度條,從而達到雙重顯示的效果,使得顯示效果更為直觀。
第二方面,本發(fā)明實施例提供了一種下載過程中主題圖標的建立裝置,該下載過程中主題圖標的建立裝置具有實現上述第一方面中下載過程中主題圖標的建立方法的功能。所述功能可以通過硬件實現,也可以通過硬件執(zhí)行相應的軟件實現。所述硬件或軟件包括一個或多個與上述功能相對應的模塊,包括如下單元:
獲取單元,用于響應于用戶對應用商店中應用程序的下載指令,獲取該應用程序的圖標;
生成單元,用于根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標;
顯示單元,用于在桌面顯示所述主題圖標及其下載進度。
首先,獲取單元用于當用戶點擊應用商店的某個應用程序時,移動終端響應于用戶的點擊指令,識別用戶所點擊的應用程序,然后從相應文件夾中獲取該應用程序的圖標;然后,生成單元根據當前用戶所使用的桌面主題生成一個與預下載應用程序相對應的主題圖標;最后,顯示單元在桌面顯示主題圖標和下載進度。本方案采用識別桌面主題的方式直接生成對應桌面主題的主題圖標而不需要做后序的美化工作,可以提高移動終端的工作效率,能夠生成與用戶所使用的桌面主題一致的圖標,具有美化界面、直觀的效果,提高用戶體驗。
結合第二方面,在第二方面的第一個實施例中,所述顯示單元具體包括如下模塊:
桌面顯示模塊,用于在桌面顯示所述主題圖標;
參數獲取模塊,用于調用預設形狀函數獲取所述主題圖標的大小、形狀參數;
繪制模塊,用于調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;
裁剪模塊,用于獲取當前主題圖標的下載進度,根據所述預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;
覆蓋模塊,用于覆蓋所述灰色進度遮罩到所述主題圖標上。
在桌面顯示主題圖標后,還需要直觀的顯示下載進度。顯示單元具體包括:桌面顯示模塊,用于在桌面顯示生成的主題圖標;參數獲取單元,用于調用預設形狀函數獲取主題圖標的大小、形狀參數為生成與主題圖標大小、形狀一致的灰色遮罩做準備;繪制模塊,用于調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;裁剪模塊,用于通過讀取文件夾的方式獲得當前的下載進度,并采用預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;覆蓋模塊,用于覆蓋該灰色進度遮罩到所述主題圖標上,從而通過刷新方式達到動態(tài)顯示下載進度的效果。采用這種方法顯示下載進度具有直觀的效果,提升用戶體驗。
結合第二方面,在第二方面的第二個實施例中,調用刷新函數刷新覆蓋在該主題圖標上的灰色進度遮罩,以根據所述灰色進度遮罩跟蹤該應用程序的下載進度。
在裁剪完灰色遮罩生成灰色進度遮罩后,需要將灰色進度遮罩覆蓋到主題圖標上,需要刷新覆蓋在主題圖標上的隨著進度增加而逐漸變小的灰色進度遮罩,從而顯示出動態(tài)效果,提升用戶體驗。
結合第二方面的第二個實施例,當滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩。
在滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩,從而節(jié)約刷新操作占據過多的系統(tǒng)內存,提升用戶體驗。
結合第二方面的第二個實施例,所述預設條件包括以下任意一項:
當前桌面置于后臺;
當前桌面正處于滑動頁面;
當前桌面正處于編輯模式;
當前桌面正在執(zhí)行動畫;
當前正在執(zhí)行拖拽動作;
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內;
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài);
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。
在本實施例中,設置預設條件對所述應用程序圖標進行刷新,從而減少不必要的刷新操作,節(jié)約系統(tǒng)內存,保證系統(tǒng)運行流暢,從而提升用戶體驗。如下所述:
當前桌面置于后臺時,用戶沒有必要正在桌面上顯示的下載進度,此時可以免去刷新操作;
當前桌面正處于滑動頁面時,用戶可能關注的重點并不是下載進度,此時可以省略刷新操作;
當前桌面正處于編輯模式時,例如用戶在添加小工具、選壁紙以及進入桌面設置時,為避免桌面上有過多操作而停止刷新操作;
當前桌面正處于執(zhí)行動畫時,刷新圖標的操作是一個低優(yōu)先級操作,為執(zhí)行高優(yōu)先級的桌面動畫而停止刷新灰色進度遮罩;當前正在執(zhí)行拖拽動作時,通過調用函數檢測當前桌面上是否有應用程序的圖標正處于拖拽動作,當有拖拽動作時圖標處于滑動狀態(tài),此時為避免桌面上有過多操作而停止刷新灰色進度遮罩;
當在應用商店中選定一個應用程序下載時,會在桌面上創(chuàng)建一個該應用的快捷方式(Shortcut)的View,同時將該應用的包名、圖標以及應用名存儲在桌面的數據庫中,本發(fā)明的刷新機制是在以下條件時停止刷新:
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內;
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài);
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。
結合第二方面的第二個實施例,當檢測不滿足預設條件時調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩。
當不滿足預設條件時,調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩,從而繼續(xù)顯示下載進度,從而提升用戶體驗
結合第二方面,在第二方面的第三個實施例中,計算所述灰色遮罩的面積,當所述應用程序下載進度變化時,按照下載進度占總進度的比例相應地對所述遮罩裁剪掉同等比例的面積以生成灰色進度遮罩。
本領域內技術人員可以理解,裁剪掉的灰色遮罩的面積占總的灰色遮罩的面積的比例與當前下載量占總下載量的比例一致,根據這種比例關系所計算出來的需要裁剪的比例和需要裁剪的面積準確、可靠。
結合第二方面,在第二方面的第四個實施例中,所述裁剪對應于下載進度的灰色進度遮罩的方式包括扇形裁剪和條形裁剪。
結合第二方面,在第二方面的第五個實施例中,所述遮罩層為半透明遮罩。
采用半透明的灰色遮罩具有直觀的效果,在顯示進度的同時還能夠顯示圖標的形狀和大小,因此可以提高用戶體驗。
結合第二方面,在第二方面的第六個實施例中,所述遮罩層位于頂層,所述圖標層位于所述遮罩層的下一層。
根據應用商店或者桌面的任何一個對主題圖標的改變進度指令,例如暫停、取消等指令,根據相應回調函數回調應用程序或者應用商店,從而完成暫停下載傳輸或停止傳輸并刪除,從而改變應用程序的下載進度。
結合第二方面,在第二方面的第七個實施例中,還包括如下單元:
接收單元,用于接收應用商店或者桌面的任何一個當中對所述主題圖標的進度改變指令;
回調單元,用于根據相應回調函數回調應用程序或應用商店,改變應用程序的下載進度。
接收單元用于接收應用商店或者桌面的任何一個當中對所述主題圖標的進度改變指令例如暫停、取消等指令,回調單元用于根據相應回調函數回調應用程序或者應用商店,從而完成暫停下載傳輸或停止傳輸并刪除,從而改變應用程序的下載進度。
結合第二方面,在第二方面的第八個實施例中,在調用刷新函數刷新在所述主題圖標上的灰色進度遮罩時,在所述主題圖標下方顯示進度條。
在調用刷新函數刷新在主題圖標上的灰色進度遮罩時,可同時顯示下載進度條,從而達到雙重顯示的效果,使得顯示效果更為直觀。
第三方面,本發(fā)明還提供了一種便攜式移動終端,其特征在于,包括:
觸敏顯示器,用于感知操作指令并根據該指令顯示相應的界面;
存儲器,用于存儲支持收發(fā)裝置執(zhí)行上述下載過程中主題圖標的建立方法的程序;
通信接口,用于上述下載過程中主題圖標的建立裝置與其他設備或通信網絡通信;
一個或多個處理器,用于執(zhí)行所述存儲器中存儲的程序;
一個或多個應用程序,其中所述一個或多個應用程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執(zhí)行,所述一個或多個程序被配置為用于執(zhí)行任何下載過程中主題圖標的建立方法。
在一個可能的設計中,下載過程中主題圖標的建立裝置的結構中包括處理器和存儲器,所述存儲器用于存儲支持收發(fā)裝置執(zhí)行上述方法的程序,所述處理器被配置為用于執(zhí)行所述存儲器中存儲的程序。所述下載過程中主題圖標的建立裝置還可以包括通信接口,用于下載過程中主題圖標的建立裝置與其他設備或通信網絡通信。
第四方面,本發(fā)明實施例提供了一種計算機存儲介質,用于儲存為上述下載過程中主題圖標的建立裝置所用的計算機軟件指令,其包含用于執(zhí)行上述方面為下載過程中主題突變的建立裝置所設計的程序。
相對于現有技術,本發(fā)明提供的方案,本方案采用識別桌面主題的方式直接生成對應桌面主題的主題圖標而不需要做后序的美化工作,可以提高移動終端的工作效率,能夠生成與用戶所使用的桌面主題一致的圖標,用戶使用移動終端從應用商店下載應用程序時,可以直接生成對應于當前桌面主題的圖標,本方案具有美化人機界面、顯示直觀的效果,提高用戶體驗。
本發(fā)明的這些方面或其他方面在以下實施例的描述中會更加簡明易懂。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1示出了根據本發(fā)明一個實施例的一種下載過程中主題圖標的建立方法流程圖。
圖2示出了根據本發(fā)明一個實施例的一種下載過程中主題圖標的顯示方法流程圖。
圖3示出了根據本發(fā)明一個實施例的一種下載過程中接收到進度改變指令并執(zhí)行操作的流程圖。
圖4示出了根據本發(fā)明一個實施例的一種下載過程中主題圖標的建立裝置框圖。
圖5示出了根據本發(fā)明一個實施例的一種下載過程中顯示單元框圖。
圖6示出了根據本發(fā)明一個實施例的一種下載過程中接收到進度改變指令并執(zhí)行操作的框圖。
圖7示出了根據本發(fā)明一個實施例的一種便攜式移動終端框圖。
具體實施方式
為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述。
在本發(fā)明的說明書和權利要求書及上述附圖中的描述的一些流程中,包含了按照特定順序出現的多個操作,但是應該清楚了解,這些操作可以不按照其在本文中出現的順序來執(zhí)行或并行執(zhí)行,操作的序號如101、102等,僅僅是用于區(qū)分開各個不同的操作,序號本身不代表任何的執(zhí)行順序。另外,這些流程可以包括更多或更少的操作,并且這些操作可以按順序執(zhí)行或并行執(zhí)行。需要說明的是,本文中的“第一”、“第二”等描述,是用于區(qū)分不同的消息、設備、模塊等,不代表先后順序,也不限定“第一”和“第二”是不同的類型。
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在本發(fā)明中用到的名詞解釋如下:
下載指令,是指用戶點擊的對應用程序的下載指令,具體的可以是單擊操作,響應于該指令,系統(tǒng)能夠獲得用戶想要下載軟件的需求,從而對應用程序進行下載。
主題樣式,是一種具有美觀效果的顯示圖標的樣式,用戶可以自己選用一種主題樣式來美化自己的桌面,例如所有的應用程序圖標都改成水果形狀。
主題圖標,是指根據當前桌面主題的主題樣式生成的主題圖標,系統(tǒng)讀取桌面主題的文件夾,從文件夾中找到一個合適的圖標,例如在一個水果為主題桌面的相應文件夾中找到當前預下載的應用程序對應的水果圖案作為其主題圖標。主題圖標不同于正常圖標,是一種與正在使用的桌面主題一致的圖標。
預設形狀函數,在本發(fā)明的系統(tǒng)中預設了很多預設函數,其中包括預設形狀函數,例如建立一個函數,利用該函數調用相關接口,通過計算預下載的應用程序獲取對應的主題圖標的高度和寬度,以及形狀,從而生成與主題圖標形狀、大小一致的灰色遮罩。
預設繪圖函數,利用預設的繪圖函數生成與主題圖標大小、形狀一致的灰色遮罩,例如預設采用Paint類中的setColor函數對圖標進行剪切,函數頭為setColor(int color),用該函數可以設置繪制顏色,其顏色使用顏色值來表示,該顏色值包括透明度參數和RGB顏色參數。
預設裁剪函數,調用開源的Andriod源代碼,應用Paint類,例如預設采用setXfermode(new(PorterDuff.Mode.DST_IN))函數可以對遮罩進行裁剪,例如用AvoidXfermode子類可以設置顏色和容差,強制Paint在其范圍內進行繪圖;又如PixelXorXfermode子類可以在覆蓋已有的顏色時,應用一個簡單的像素XOR操作;又如PorterDuffXfermode子類是一種轉換模式,使用其可以使用圖像合成的16條Porter-Duff規(guī)則的任意一條來控制Paint如何與已有的Canvas畫布圖像進行交互。在本發(fā)明中,通過PorterDuffXfermode子類可以剪切灰色遮罩,依據讀取文件夾的方式獲取進度,然后通過Paint與已有的灰色遮罩進行交互,以裁剪出符合當前下載進度的灰色進度遮罩。
灰色遮罩,在本發(fā)明中是指采用預設繪圖函數繪制出來的與主題圖標大小、形狀一致的灰色的遮罩,優(yōu)選設置為透明色,當將其繪制到主題圖標上時,主題圖標呈現灰色,當等待下載時使用該灰色遮罩覆蓋在主題圖標上,當隨著下載進度刷新時,該灰色遮罩被灰色進度遮罩替換,此時主題圖標呈現出動態(tài)的逐漸顯示主題圖標的效果。
灰色進度遮罩,下載進度主要依據讀取文件夾的方式,讀取預下載的應用程序已經下載到本地的文件夾的數據量,然后將該數據量與該應用程序的總的數據量進行比較而得到一個比例值,本領域內技術人員可以理解,該比例值隨著下載進度的增加而不斷變大,而灰色遮罩需要裁剪的面積占灰色遮罩總面積的比例值與該比例值一致,裁減掉一部分的灰色遮罩成為灰色進度遮罩。
本發(fā)明的應用環(huán)境為移動終端,應用商店能夠提供一系列應用程序,當用戶想在移動終端上使用某個應用程序中,可以到應用商店中下載,通過操作移動終端選定某個應用程序后,應用商店就會自動的傳輸該應用程序的安裝文件到本地文件夾中,繼而可以進行后序的安裝操作,下載安裝的過程可以由用戶進行默認設置,例如默認設計下載后自動安裝在SD卡上。
響應于用戶在應用商店中選擇的應用程序的下載操作指令,識別用戶所點擊的應用程序,并自動生成一個與當前桌面主題對應的主題圖標,生成該主題圖標后顯示其在桌面上;在通過互聯(lián)網下載被選擇的應用程序的過程,此時應用商店不斷的傳輸該應用程序的相關文件到本地文件夾中,此時系統(tǒng)不斷讀取本地文件夾的數據量的方式獲得當前的下載進度;根據下載進度的變化,通過Andriod的開源代碼,調用其相應的類和函數來控制生成灰色遮罩、裁剪灰色遮罩、繪制灰色遮罩到主題圖標等操作。
半透明,在本發(fā)明中,半透明并不是指透明度為50%的透明度,可以包括任意透明度,為了得到更好的透明效果,程序員可以根據多次測試結果調整,從而通過預先設定的程序設置透明度。
第一方面,本發(fā)明提供了一種下載過程中主題圖標的建立方法,如圖1所示,包括如下步驟:
S101,響應于用戶對應用商店中應用程序的下載指令,獲取該應用程序的圖標。
本領域內技術人員可以理解,用戶對應用商店中應用程序的下載指令可以是單擊,當用戶根據相應的提醒進入到下載界面時被認為是用戶成功的實施了對應用程序的下載指令,系統(tǒng)響應于用戶對應用商店中的應用程序的下載指令,自動獲取該應用程序的圖標,以便盡快生成主題圖標。例如需要下載的應用程序為360手機助手,則立即讀取360手機助手的圖標樣式。
S102,根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標。
在獲取應用程序的圖標后,根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標。例如當前主題樣式是水果主題,當需要下載的應用程序為360手機助手并已經獲取360手機助手的圖標樣式后,在水果主題中自動搜搜對應360手機助手的水果圖標樣式,即主題圖標。
S103,在桌面顯示所述主題圖標及其下載進度。
生成主題圖標后,例如已經生成了對應360手機助手的主題圖標,需要將主題圖標顯示在桌面上,同時繪制灰色遮罩到其頂層,當進度發(fā)生變化時,灰色遮罩會被裁剪的越來越少,從而刷新的操作可以使主題圖標呈現出動態(tài)出現的效果。
首先,當用戶點擊應用商店的某個應用程序時,移動終端響應于用戶的點擊指令,識別用戶所點擊的應用程序,然后從相應文件夾中獲取該應用程序的圖標;然后,根據當前用戶所使用的桌面主題生成一個與預下載應用程序相對應的主題圖標;最后,在桌面顯示主題圖標和下載進度。本方案采用識別桌面主題的方式直接生成對應桌面主題的主題圖標而不需要做后序的美化工作,可以提高移動終端的工作效率,能夠生成與用戶所使用的桌面主題一致的圖標,具有美化界面、直觀的效果,提高用戶體驗。
結合第一方面,在第一方面的第一個實施例中,在桌面顯示所述主題圖標及其下載進度的步驟如圖2所示,包括如下具體步驟:
S201,在桌面顯示所述主題圖標。
本領域內技術人員可以理解,在獲取了對應桌面主題的主題圖標后,可以獲得對應的主題圖標的大小、形狀、色彩、圖案等參數,故可以通過Paint類可以在桌面上繪制出相應的主題圖標。
S202,調用預設形狀函數獲取所述主題圖標的大小、形狀參數。
在創(chuàng)建灰色遮罩時,大小、形狀參數是必須獲取的,例如在程序的其他部分可以獲得進度變量progress和圖標寬度變量height的具體值,通過定義一個變量top,根據其定義語句為float top=(height/100.0f)*progress可以獲得圖標的高度,即top的值,從而根據top的值來繪制灰色遮罩。
S203,調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩。
在本發(fā)明的一個實施例中,首先利用Paint類繪制生成一個canvas畫布,然后在預先檢測到的高度范圍內利用Paint的setColor類將canvas畫布繪制成灰色,優(yōu)選的,可以通過設置setColor類的子類函數將灰色遮罩設置為半透明。
S204,獲取當前主題圖標的下載進度,根據所述預設裁剪函數裁剪對應于下載進度的灰色進度遮罩。
在本實施例中,調用開源的Andriod源代碼,應用Paint類,例如預設采用setXfermode(new(PorterDuff.Mode.DST_IN))函數可以對遮罩進行裁剪,例如用AvoidXfermode子類可以設置顏色和容差,強制Paint在其范圍內進行繪圖;又如PixelXorXfermode子類可以在覆蓋已有的顏色時,應用像素XOR操作;又如PorterDuffXfermode子類是一種轉換模式,使用其可以使用圖像合成的16條Porter-Duff規(guī)則的任意一條來控制Paint如何與已有的canvas畫布圖像進行交互,例如與canvas灰色遮罩畫布進行交互。在本發(fā)明中,通過PorterDuffXfermode子類可以剪切灰色遮罩,依據讀取文件夾的方式獲取進度,然后通過Paint類與已有的canvas灰色遮罩進行交互,以裁剪出符合當前下載進度的灰色進度遮罩。
S205,覆蓋所述灰色進度遮罩到所述主題圖標上。
裁剪好的灰色進度遮罩會預先設定的刷新頻率不斷的繪制到所述主題土圖標上,例如一秒中10次刷新,在本發(fā)明中,還可以優(yōu)選的,在滿足預設條件時停止刷新。
在桌面顯示主題圖標及其下載進度的總的步驟包括如下:首先在桌面顯示生成的主題圖標;繼而調用預設形狀函數獲取主題圖標的大小、形狀參數為生成與主題圖標大小、形狀一致的灰色遮罩做準備;繼而調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;繼而通過讀取文件夾的方式獲得當前的下載進度,并采用預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;最后覆蓋該灰色進度遮罩到所述主題圖標上,從而通過刷新方式達到動態(tài)顯示下載進度的效果。采用這種方法顯示下載進度具有直觀的效果,提升用戶體驗。
結合第一方面,在第一方面的第二個實施例中,調用刷新函數刷新覆蓋在該主題圖標上的灰色進度遮罩,以根據所述灰色進度遮罩跟蹤該應用程序的下載進度。
在裁剪完灰色遮罩生成灰色進度遮罩后,需要將灰色進度遮罩覆蓋到主題圖標上,可以采用定義OnAppIconRefersh方法刷新灰色進度遮罩,隨著刷新動作的進行,覆蓋在主題圖標上的隨著進度增加而逐漸變小的灰色進度遮罩,從而顯示出動態(tài)效果,提升用戶體驗。
結合第一方面的第二個實施例,當滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩。
刷新操作是占用線程、耗電、且消耗系統(tǒng)內存的操作,在本發(fā)明中,為了減少刷新所帶來的占用系統(tǒng)內存,提供了一種在滿足預設條件時停止刷新的機制,當滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩。從而節(jié)約刷新操作占據過多的系統(tǒng)內存,提升用戶體驗。
結合第一方面的第二個實施例,所述預設條件包括以下任意一項:
當前桌面置于后臺;
當前桌面正處于滑動頁面;
當前桌面正處于編輯模式;
當前桌面正在執(zhí)行動畫;
當前正在執(zhí)行拖拽動作;
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內;
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài)。
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。
在本實施例中,設置預設條件對所述應用程序圖標進行刷新,從而減少不必要的刷新操作,節(jié)約系統(tǒng)內存,保證系統(tǒng)運行流暢,從而提升用戶體驗。如下所述:
當前桌面置于后臺時,通過調用mLauncher.isPaused()可以獲取當前桌面是否處于后臺,當桌面處于后臺時,用戶沒有必要正在桌面上顯示的下載進度,此時可以免去刷新操作。
當前桌面正處于滑動頁面時,通過調用mLauncher.getWorkspace().isPageMoving()可以獲得當前桌面是否處于滑動頁面,用戶可能關注的重點并不是下載進度,此時可以省略刷新操作。
當前桌面正處于編輯模式時,通過調用Workspace.mIsEditMode可以獲取當前的桌面是否處于編輯模式,當處于編輯模式時停止刷新操作,例如用戶在添加小工具、選壁紙以及進入桌面設置時,為避免桌面上有過多操作而停止刷新操作。
當前桌面正處于執(zhí)行動畫時,通過調用mLauncher.mIsAnimating可以獲取當前桌面是否在執(zhí)行動畫,當執(zhí)行動畫時,刷新圖標的操作是一個低優(yōu)先級操作,為執(zhí)行高優(yōu)先級的桌面動畫而停止刷新灰色進度遮罩。
當前正在執(zhí)行拖拽動作時,通過調用mLauncher.getDragController().isDragging()獲得當前桌面上是否有應用程序的圖標正處于拖拽動作,當有拖拽動作時圖標處于滑動狀態(tài),此時為避免桌面上有過多操作而停止刷新灰色進度遮罩;
當在應用商店中選定一個應用程序下載時,通過ContentProvider中的all()方法回調桌面的FLAG_DOWNLOAD_CREATE方法并將應用的包名、圖標以及應用名通過bundle傳遞給桌面,此時會在桌面上創(chuàng)建一個該應用的快捷方式(Shortcut)的View,同時將該應用的包名、圖標以及應用名存儲在桌面的數據庫中,本發(fā)明的刷新機制是在以下條件時停止刷新:
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內,即當前該快捷方式的View在文件夾內且文件夾關閉或者當前該View不在正在打開的文件內;
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài),即當前該快捷方式的View在桌面或者Hotseat,且文件夾處于打開狀態(tài);
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。即當前該快捷方式的View在桌面或者Hotseat,且該View所在的Screen不在當前桌面所處的Screen。
在當前所述應用程序快捷方式的視圖不在正在打開的文件夾內、當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài)。
結合第一方面的第二個實施例,當檢測不滿足預設條件時調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩。
當不滿足預設條件,或者退出預設條件時,調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩,從而繼續(xù)顯示下載進度,從而提升用戶體驗。在本發(fā)明的實施例中,可以通過調用以下函數確定是否已經退出上述預設條件:如檢測當前桌面是否回到前臺,使用onResume()函數確定;檢測桌面滑動是否結束使用onPageEndMoving()函數;檢測拖拽操作是否結束使用endDrag();檢測是否退出編輯模式使用(endEditMode());檢測文件夾的打開狀態(tài)使用openFolder()函數;而檢測文件夾是否關閉的狀態(tài)采用closeFolder()。
結合第一方面,在第一方面的第三個實施例,計算所述灰色遮罩的面積,當所述應用程序下載進度變化時,按照下載進度占總進度的比例相應地對所述灰色遮罩裁剪掉同等比例的面積以生成灰色進度遮罩。
本領域內技術人員可以理解,下載進度主要依據讀取文件夾的方式,讀取預下載的應用程序已經下載到本地的文件夾的數據量,然后將該數據量與該應用程序的總的數據量進行比較而得到一個比例值,本領域內技術人員可以理解,該比例值隨著下載進度的增加而不斷變大,而灰色遮罩需要裁剪的面積占灰色遮罩總面積的比例值與該比例值一致,裁減掉一部分的灰色遮罩成為灰色進度遮罩。裁剪掉的灰色遮罩的面積占總的灰色遮罩的面積的比例與當前下載量占總下載量的比例一致,根據這種比例關系所計算出來的需要裁剪的比例和需要裁剪的面積準確、可靠。
結合第一方面,在第一方面的第四個實施例,所述裁剪對應于下載進度的灰色進度遮罩的方式包括扇形裁剪和條形裁剪。
在本實施例中,所述扇形裁剪是以圓心為準,按照下載進度對所述主題圖標進行扇形的裁剪,圖標呈現出旋轉式逐漸呈現的效果;所述條形裁剪為按照下載進度對主題圖標進行條形裁剪,圖標呈現自下而上逐漸顯現的效果。
結合第一方面,在第一方面的第五個實施例,所述灰色遮罩為半透明遮罩。
在本發(fā)明的一個實施例中,實用Paint的setXfermode類的子類可以實現制作半透明的遮罩,例如使用setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN))函數,采用半透明的灰色遮罩具有直觀的效果,在顯示進度的同時還能夠顯示圖標的形狀和大小,因此可以提高用戶體驗。
結合第一方面,在第一方面的第六個實施例,所述灰色遮罩層位于頂層,所述主題圖標層位于所述灰色遮罩層的下一層。
在繪制時,首先將主題圖標繪制在底層,然后再將灰度進度遮罩繪制在主題圖標上,本發(fā)明以主題桌面為背景,依次疊加主題圖標層和灰色遮罩層,灰色遮罩層位于主題圖標層的頂部,主題圖標層位于灰色遮罩層和桌面背景的中間層。
結合第一方面,在第一方面的第七個實施例,如圖3所示:
S301,接收應用商店或者桌面的任何一個當中對所述主題圖標的進度改變指令;
S302,根據相應回調函數回調應用程序或應用商店,改變應用程序的下載進度。
在本發(fā)明的一個實施例中,桌面和商店之間的調用是通過ContentProvider中的call()方法來實現的。
方法原型如:Bundle call(Uri uri,String method,String arg,Bundle extras);
為此在本方案的一個實施例中,定義了一系列協(xié)議:
Url:
public static final String ASSISIT_PROVIDE_URL="content://com.qihoo.appstore.LauncherDownloadProvider";//手機助手provider URL
public static final String LAUNCHER_PROVIDE_URL="content://com.qiku.android.Launcher3.DownLoadProvider";//Launcher provider URL
定義方法為:
public static final String FLAG_DOWNLOAD_CREATE=
"FLAG_DOWNLOAD_CREATE";//創(chuàng)建下載標志
public static final String FLAG_DOWNLOAD_ING=
"FLAG_DOWNLOAD_ING";//開始下載標志
public static final String FLAG_DOWNLOAD_PAUSE=
"FLAG_DOWNLOAD_PAUSE";//暫停下載標志
public static final String FLAG_INSTALL_ING=
"FLAG_INSTALL_ING";//安裝標志
public static final String FLAG_DOWNLOAD_FAIL=
"FLAG_DOWNLOAD_FAIL";//下載失敗標志
public static final String FLAG_INSTALL_FAIL=
"FLAG_INSTALL_FAIL";//安裝失敗標志
public static final String FLAG_DOWNLOAD_DELETE=
"FLAG_DOWNLOAD_DELETE";//刪除任務標志
public static final String FLAG_DOWNLOAD_RESUME=
"FLAG_DOWNLOAD_RESUME";//繼續(xù)下載標志
public static final String FLAG_INSTALL_RESUME=
"FLAG_INSTALL_RESUME";//繼續(xù)安裝標志
public static final String FLAG_GET_SATTE=
"FLAG_INSTALL_RESUME";//獲取下載安裝狀態(tài)
當在商店中點擊下載某一個應用時商店通過ContentProvider中的call()方法回調桌面的FLAG_DOWNLOAD_CREATE方法并將應用的包名、圖標以及應用名通過Bundle傳遞給桌面,此時會在桌面上創(chuàng)建一個該應用的快捷方式(Shortcut)的View類,即視圖,同時我們將該應用的包名、圖標以及應用名存儲在桌面的數據庫中。為了標識該應用當前處于等待下載的狀態(tài),在該應用的圖標加上完整的灰色遮罩。當商店開始下載該應用時商店會調用桌面的FLAG_DOWNLOAD_ING方法并將當前下載的進度通過Bundle類傳遞給桌面,此時桌面會根據當前下載的進度計算出灰色遮罩覆蓋的范圍,然后重新繪制在應用的圖標上,隨著下載進度的持續(xù)增加灰色遮罩逐漸退去,應用程序的主題圖標逐漸顯現出來。
根據應用商店或者桌面的任何一個對主題圖標的改變進度指令,例如暫停、取消等指令,根據相應回調函數回調應用程序或者應用商店,從而完成暫停下載傳輸或停止傳輸并刪除,從而改變應用程序的下載進度。
結合第一方面,在第一方面的第八個實施例,在調用刷新函數刷新在所述主題圖標上的灰色進度遮罩時,在所述主題圖標下方顯示進度條。
在調用刷新函數刷新在主題圖標上的灰色進度遮罩時,可同時顯示下載進度條,從而達到雙重顯示的效果,使得顯示效果更為直觀。
第二方面,本發(fā)明實施例提供了一種下載過程中主題圖標的建立裝置,該下載過程中主題圖標的建立裝置具有實現上述第一方面中下載過程中主題圖標的建立方法的功能。所述功能可以通過硬件實現,也可以通過硬件執(zhí)行相應的軟件實現。所述硬件或軟件包括一個或多個與上述功能相對應的模塊,如圖4所示,包括如下單元:
獲取單元101,用于響應于用戶對應用商店中應用程序的下載指令,獲取該應用程序的圖標;
獲取單元101用于獲取應用程序的圖標,本領域內技術人員可以理解,用戶對應用商店中應用程序的下載指令可以是單擊,當用戶根據相應的提醒進入到下載界面時被認為是用戶成功的實施了對應用程序的下載指令,系統(tǒng)響應于用戶對應用商店中的應用程序的下載指令,自動獲取該應用程序的圖標,以便盡快生成主題圖標。例如需要下載的應用程序為360手機助手,則立即讀取360手機助手的圖標樣式。
生成單元102,用于根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標;
在獲取應用程序的圖標后,生成單元102根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標。例如當前主題樣式是水果主題,當需要下載的應用程序為360手機助手并已經獲取360手機助手的圖標樣式后,在水果主題中自動搜搜對應360手機助手的水果圖標樣式,即主題圖標。
顯示單元103,用于在桌面顯示所述主題圖標及其下載進度。
顯示單元103在生成主題圖標后,例如已經生成了對應360手機助手的主題圖標,將主題圖標顯示在桌面上,同時系統(tǒng)會繪制灰色遮罩到其頂層,當進度發(fā)生變化時,灰色遮罩會被裁剪的越來越少,從而刷新的操作可以使主題圖標呈現出動態(tài)出現的效果。
首先,獲取單元用于當用戶點擊應用商店的某個應用程序時,移動終端響應于用戶的點擊指令,識別用戶所點擊的應用程序,然后從相應文件夾中獲取該應用程序的圖標;然后,生成單元根據當前用戶所使用的桌面主題生成一個與預下載應用程序相對應的主題圖標;最后,顯示單元在桌面顯示主題圖標和下載進度。本方案采用識別桌面主題的方式直接生成對應桌面主題的主題圖標而不需要做后序的美化工作,可以提高移動終端的工作效率,能夠生成與用戶所使用的桌面主題一致的圖標,具有美化界面、直觀的效果,提高用戶體驗。
結合第二方面,在第二方面的第一個實施例中,如圖5所示,所述顯示單元具體包括如下模塊:
桌面顯示模塊201,用于在桌面顯示所述主題圖標;
桌面顯示模塊201是用于在桌面顯示所述主題圖標,本領域內技術人員可以理解,在獲取了對應桌面主題的主題圖標后,可以獲得對應的主題圖標的大小、形狀、色彩、圖案等參數,故可以通過Paint類可以在桌面上繪制出相應的主題圖標。
參數獲取模塊202,用于調用預設形狀函數獲取所述主題圖標的大小、形狀參數;
參數獲取單元202用于在創(chuàng)建灰色遮罩時獲取所述主題圖標的大小、形狀參數;例如在程序的其他部分可以獲得進度變量progress和圖標寬度變量height的具體值,通過定義一個變量top,根據其定義語句為float top=(height/100.0f)*progress可以獲得圖標的高度,即top的值,從而根據top的值來繪制灰色遮罩。
繪制模塊203,用于調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;
繪制模塊203是用于調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩,在本發(fā)明的一個實施例中,首先利用Paint類繪制生成一個canvas畫布,然后在預先檢測到的高度范圍內利用Paint的setColor類將canvas畫布繪制成灰色,優(yōu)選的,可以通過設置setColor類的子類函數將灰色遮罩設置為半透明。
裁剪模塊204,用于獲取當前主題圖標的下載進度,根據所述預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;
裁剪模塊204用于根據所述預設裁剪函數裁剪對應于下載進度的灰色進度遮罩,調用開源的Andriod源代碼,應用Paint類,例如預設采用setXfermode(new(PorterDuff.Mode.DST_IN))函數可以對遮罩進行裁剪,例如用AvoidXfermode子類可以設置顏色和容差,強制Paint在其范圍內進行繪圖;又如PixelXorXfermode子類可以在覆蓋已有的顏色時,應用像素XOR操作;又如PorterDuffXfermode子類是一種轉換模式,使用其可以使用圖像合成的16條Porter-Duff規(guī)則的任意一條來控制Paint如何與已有的canvas畫布圖像進行交互,例如與canvas灰色遮罩畫布進行交互。在本發(fā)明中,通過PorterDuffXfermode子類可以剪切灰色遮罩,依據讀取文件夾的方式獲取進度,然后通過Paint類與已有的canvas灰色遮罩進行交互,以裁剪出符合當前下載進度的灰色進度遮罩。
覆蓋模塊205,用于覆蓋所述灰色進度遮罩到所述主題圖標上。
覆蓋模塊205用于覆蓋所述灰色進度遮罩到所述主題圖標上,覆蓋也是繪制,裁剪好的灰色進度遮罩會以預先設定的刷新頻率不斷的繪制到所述主題土圖標上,例如一秒中10次刷新。
在桌面顯示主題圖標后,還需要直觀的顯示下載進度。顯示單元具體包括:桌面顯示模塊,用于在桌面顯示生成的主題圖標;參數獲取單元,用于調用預設形狀函數獲取主題圖標的大小、形狀參數為生成與主題圖標大小、形狀一致的灰色遮罩做準備;繪制模塊,用于調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;裁剪模塊,用于通過讀取文件夾的方式獲得當前的下載進度,并采用預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;覆蓋模塊,用于覆蓋該灰色進度遮罩到所述主題圖標上,從而通過刷新方式達到動態(tài)顯示下載進度的效果。采用這種方法顯示下載進度具有直觀的效果,提升用戶體驗。
結合第二方面,在第二方面的第二個實施例中,調用刷新函數刷新覆蓋在該主題圖標上的灰色進度遮罩,以根據所述灰色進度遮罩跟蹤該應用程序的下載進度。
在裁剪完灰色遮罩生成灰色進度遮罩后,需要將灰色進度遮罩覆蓋到主題圖標上,可以采用定義OnAppIconRefersh方法刷新灰色進度遮罩,隨著刷新動作的進行,覆蓋在主題圖標上的隨著進度增加而逐漸變小的灰色進度遮罩,從而顯示出動態(tài)效果,提升用戶體驗。
結合第二方面的第二個實施例,當滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩。
刷新操作是占用線程、耗電、且消耗系統(tǒng)內存的操作,在本發(fā)明中,為了減少刷新所帶來的占用系統(tǒng)內存,提供了一種在滿足預設條件時停止刷新的機制,當滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩。從而節(jié)約刷新操作占據過多的系統(tǒng)內存,提升用戶體驗。
結合第二方面的第二個實施例,所述預設條件包括以下任意一項:
當前桌面置于后臺;
當前桌面正處于滑動頁面;
當前桌面正處于編輯模式;
當前桌面正在執(zhí)行動畫;
當前正在執(zhí)行拖拽動作;
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內;
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài);
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。
在本實施例中,設置預設條件對所述應用程序圖標進行刷新,從而減少不必要的刷新操作,節(jié)約系統(tǒng)內存,保證系統(tǒng)運行流暢,從而提升用戶體驗。如下所述:
當前桌面置于后臺時,通過調用mLauncher.isPaused()可以獲取當前桌面是否處于后臺,當桌面處于后臺時,用戶沒有必要正在桌面上顯示的下載進度,此時可以免去刷新操作;
當前桌面正處于滑動頁面時,通過調用mLauncher.getWorkspace().isPageMoving()可以獲得當前桌面是否處于滑動頁面,用戶可能關注的重點并不是下載進度,此時可以省略刷新操作;
當前桌面正處于編輯模式時,通過調用Workspace.mIsEditMode可以獲取當前的桌面是否處于編輯模式,當處于編輯模式時停止刷新操作,例如用戶在添加小工具、選壁紙以及進入桌面設置時,為避免桌面上有過多操作而停止刷新操作;
當前桌面正處于執(zhí)行動畫時,通過調用mLauncher.mIsAnimating可以獲取當前桌面是否在執(zhí)行動畫,當執(zhí)行動畫時,刷新圖標的操作是一個低優(yōu)先級操作,為執(zhí)行高優(yōu)先級的桌面動畫而停止刷新灰色進度遮罩。當前正在執(zhí)行拖拽動作時,通過調用mLauncher.getDragController().isDragging()可以獲取當前桌面上是否有應用程序的圖標正處于拖拽動作,當有拖拽動作時圖標處于滑動狀態(tài),此時為避免桌面上有過多操作而停止刷新灰色進度遮罩;
當在應用商店中選定一個應用程序下載時,通過ContentProvider中的all()方法回調桌面的FLAG_DOWNLOAD_CREATE方法并將應用的包名、圖標以及應用名通過bundle傳遞給桌面,此時會在桌面上創(chuàng)建一個該應用的快捷方式(Shortcut)的View,同時將該應用的包名、圖標以及應用名存儲在桌面的數據庫中,本發(fā)明的刷新機制是在以下條件時停止刷新:
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內,即當前該快捷方式的View在文件夾內且文件夾關閉或者當前該View不在正在打開的文件內。
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài),即當前該快捷方式的View在桌面或者Hotseat,且文件夾處于打開狀態(tài)。
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。即當前該快捷方式的View在桌面或者Hotseat,且該View所在的Screen不在當前桌面所處的Screen。
在當前所述應用程序快捷方式的視圖不在正在打開的文件夾內、當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài)。
結合第二方面的第二個實施例,當檢測不滿足預設條件時調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩。
當不滿足預設條件,或者退出預設條件時,調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩,從而繼續(xù)顯示下載進度,從而提升用戶體驗。在本發(fā)明的實施例中,可以通過調用以下函數確定是否已經退出上述預設條件:如檢測當前桌面是否回到前臺,使用onResume()函數確定;檢測桌面滑動是否結束使用onPageEndMoving()函數;檢測拖拽操作是否結束使用endDrag();檢測是否退出編輯模式使用(endEditMode());檢測文件夾的打開狀態(tài)使用openFolder()函數;而檢測文件夾是否關閉的狀態(tài)采用closeFolder()。
結合第二方面,在第二方面的第三個實施例中,計算所述灰色遮罩的面積,當所述應用程序下載進度變化時,按照下載進度占總進度的比例相應地對所述遮罩裁剪掉同等比例的面積以生成灰色進度遮罩。
本領域內技術人員可以理解,下載進度主要依據讀取文件夾的方式,讀取預下載的應用程序已經下載到本地的文件夾的數據量,然后將該數據量與該應用程序的總的數據量進行比較而得到一個比例值,本領域內技術人員可以理解,該比例值隨著下載進度的增加而不斷變大,而灰色遮罩需要裁剪的面積占灰色遮罩總面積的比例值與該比例值一致,裁減掉一部分的灰色遮罩成為灰色進度遮罩。裁剪掉的灰色遮罩的面積占總的灰色遮罩的面積的比例與當前下載量占總下載量的比例一致,根據這種比例關系所計算出來的需要裁剪的比例和需要裁剪的面積準確、可靠。
結合第二方面,在第二方面的第四個實施例中,所述裁剪對應于下載進度的灰色進度遮罩的方式包括扇形裁剪和條形裁剪。
在本實施例中,所述扇形裁剪是以圓心為準,按照下載進度對所述主題圖標進行扇形的裁剪,圖標呈現出旋轉式逐漸呈現的效果;所述條形裁剪為按照下載進度對主題圖標進行條形裁剪,圖標呈現自下而上逐漸顯現的效果。
結合第二方面,在第二方面的第五個實施例中,所述遮罩層為半透明遮罩。
在本發(fā)明的一個實施例中,實用Paint的setXfermode類的子類可以實現制作半透明的遮罩,例如使用setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN))函數,采用半透明的灰色遮罩具有直觀的效果,在顯示進度的同時還能夠顯示圖標的形狀和大小,因此可以提高用戶體驗。
結合第二方面,在第二方面的第六個實施例中,所述遮罩層位于頂層,所述圖標層位于所述遮罩層的下一層。
在繪制時,首先將主題圖標繪制在底層,然后再將灰度進度遮罩繪制在主題圖標上,本發(fā)明以主題桌面為背景,依次疊加主題圖標層和灰色遮罩層,灰色遮罩層位于主題圖標層的頂部,主題圖標層位于灰色遮罩層和桌面背景的中間層。
結合第二方面,在第二方面的第七個實施例中,如圖6所示,還包括如下單元:
接收單元301,用于接收應用商店或者桌面的任何一個當中對所述主題圖標的進度改變指令;
回調單元302,用于根據相應回調函數回調應用程序或應用商店,改變應用程序的下載進度。
接收單元301用于接收應用商店或者桌面的任何一個當中對所述主題圖標的進度改變指令例如暫停、取消等指令,回調單元302用于根據相應回調函數回調應用程序或者應用商店,從而完成暫停下載傳輸或停止傳輸并刪除,從而改變應用程序的下載進度。
在本發(fā)明的一個實施例中,桌面和商店之間的調用是通過ContentProvider中的call()方法來實現的。
方法原型如:Bundle call(Uri uri,String method,String arg,Bundle extras);
為此在本方案的一個實施例中,定義了一系列協(xié)議:
Url:
public static final String ASSISIT_PROVIDE_URL="content://com.qihoo.appstore.LauncherDownloadProvider";//手機助手provider URL
public static final String LAUNCHER_PROVIDE_URL="content://com.qiku.android.Launcher3.DownLoadProvider";//Launcher provider URL
定義方法為:
public static final String FLAG_DOWNLOAD_CREATE=
"FLAG_DOWNLOAD_CREATE";//創(chuàng)建下載標志
public static final String FLAG_DOWNLOAD_ING=
"FLAG_DOWNLOAD_ING";//開始下載標志
public static final String FLAG_DOWNLOAD_PAUSE=
"FLAG_DOWNLOAD_PAUSE";//暫停下載標志
public static final String FLAG_INSTALL_ING=
"FLAG_INSTALL_ING";//安裝標志
public static final String FLAG_DOWNLOAD_FAIL=
"FLAG_DOWNLOAD_FAIL";//下載失敗標志
public static final String FLAG_INSTALL_FAIL=
"FLAG_INSTALL_FAIL";//安裝失敗標志
public static final String FLAG_DOWNLOAD_DELETE=
"FLAG_DOWNLOAD_DELETE";//刪除任務標志
public static final String FLAG_DOWNLOAD_RESUME=
"FLAG_DOWNLOAD_RESUME";//繼續(xù)下載標志
public static final String FLAG_INSTALL_RESUME=
"FLAG_INSTALL_RESUME";//繼續(xù)安裝標志
public static final String FLAG_GET_SATTE=
"FLAG_INSTALL_RESUME";//獲取下載安裝狀態(tài)
當在商店中點擊下載某一個應用時商店通過ContentProvider中的call()方法回調桌面的FLAG_DOWNLOAD_CREATE方法并將應用的包名、圖標以及應用名通過Bundle傳遞給桌面,此時會在桌面上創(chuàng)建一個該應用的快捷方式(Shortcut)的View類,即視圖,同時我們將該應用的包名、圖標以及應用名存儲在桌面的數據庫中。為了標識該應用當前處于等待下載的狀態(tài),在該應用的圖標加上完整的灰色遮罩。當商店開始下載該應用時商店會調用桌面的FLAG_DOWNLOAD_ING方法并將當前下載的進度通過Bundle類傳遞給桌面,此時桌面會根據當前下載的進度計算出灰色遮罩覆蓋的范圍,然后重新繪制在應用的圖標上,隨著下載進度的持續(xù)增加灰色遮罩逐漸退去,應用程序的主題圖標逐漸顯現出來。
根據應用商店或者桌面的任何一個對主題圖標的改變進度指令,例如暫停、取消等指令,根據相應回調函數回調應用程序或者應用商店,從而完成暫停下載傳輸或停止傳輸并刪除,從而改變應用程序的下載進度。
結合第二方面,在第二方面的第八個實施例中,在調用刷新函數刷新在所述主題圖標上的灰色進度遮罩時,在所述主題圖標下方顯示進度條。
在調用刷新函數刷新在主題圖標上的灰色進度遮罩時,可同時顯示下載進度條,從而達到雙重顯示的效果,使得顯示效果更為直觀。
本發(fā)明實施例還提供了一種便攜式移動終端,如圖7所示,為了便于說明,僅示出了與本發(fā)明實施例相關的部分,具體技術細節(jié)未揭示的,請參照本發(fā)明實施例方法部分,所述便攜式移動終端包括:
觸敏顯示器,用于感知操作指令并根據該指令顯示相應的界面;
存儲器,用于存儲支持收發(fā)裝置執(zhí)行上述下載過程中主題圖標的建立方法的程序;
通信接口,用于上述下載過程中主題圖標的建立裝置與其他設備或通信網絡通信;
一個或多個處理器,用于執(zhí)行所述存儲器中存儲的程序;
一個或多個應用程序,其中所述一個或多個應用程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執(zhí)行,所述一個或多個程序被配置為用于執(zhí)行下載過程中主題突變的建立的任何方法。
該終端可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數字助理)、POS(Point of Sales,銷售終端)、車載電腦等任意終端設備,以終端為手機為例:
圖7示出的是與本發(fā)明實施例提供的終端相關的手機的部分結構的框圖。參考圖7,手機包括:觸敏顯示器701、存儲器702、通信接口703、一個或多個處理器704、一個或多個應用程序705、以及電源706等部件。本領域技術人員可以理解,圖7中示出的手機結構并不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結合圖7對手機的各個構成部件進行具體的介紹:
觸敏顯示器701為觸摸屏和顯示屏合二為一的整體,觸摸屏和顯示屏各占一層;觸摸屏包括觸摸板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板上或在觸控面板附近的操作),并根據預先設定的程式驅動相應的連接裝置??蛇x的,觸控面板可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器704,并能接收處理器704發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板。除了觸控面板,顯示屏可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元可包括顯示面板,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板。進一步的,觸控面板可覆蓋顯示面板,當觸控面板檢測到在其上或附近的觸摸操作后,傳送給處理器704以確定觸摸事件的類型,隨后處理器704根據觸摸事件的類型在顯示面板上提供相應的視覺輸出。雖然在圖7中,觸控面板與顯示面板是作為兩個獨立的部件來實現手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板與顯示面板集成而實現手機的輸入和輸出功能。
存儲器702可用于存儲軟件程序以及模塊,處理器704通過運行存儲在存儲器702的軟件程序以及模塊,從而執(zhí)行手機的各種功能應用以及數據處理。存儲器702可主要包括存儲程序區(qū)和存儲數據區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序705(比如聲音播放功能、圖像播放功能等)等;存儲數據區(qū)可存儲根據手機的使用所創(chuàng)建的數據(比如音頻數據、電話本等)等。此外,存儲器702可以包括高速隨機存取存儲區(qū)702,還可以包括非易失性存儲區(qū)702,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
通信接口703,用于上述下載過程中主題圖標的建立裝置與其他設備或通信網絡通信。通信接口703是處理器704與外界子系統(tǒng)進行通信的接口,用于處理器704與外界系統(tǒng)之間信息的傳輸,以達到控制子系統(tǒng)的目的。
處理器704是手機的控制中心,利用各種通信接口703和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲區(qū)702內的軟件程序和/或模塊,以及調用存儲在存儲區(qū)702內的數據,執(zhí)行手機的各種功能和處理數據,從而對手機進行整體監(jiān)控??蛇x的,處理器704可包括一個或多個處理單元;優(yōu)選的,處理器704可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序705等,調制解調處理器主要處理無線通信??梢岳斫獾氖?,上述調制解調處理器也可以不集成到處理器704中。
一個或多個應用程序705,優(yōu)選地,這些應用程序705都被存儲在所述存儲區(qū)702中并被配置為由所述一個或多個處理器704執(zhí)行,所述一個或多個應用程序705被配置為用于執(zhí)行所述下載過程中主題圖標的建立方法的任何實施例。
手機還包括給各個部件供電的電源706(比如電池),優(yōu)選的,電源706可以通過電源管理系統(tǒng)與處理器704邏輯相連,從而通過電源706管理系統(tǒng)實現管理充電、放電、以及功耗管理等功能。
盡管未示出,手機還可以包括攝像頭、藍牙模塊等,在此不再贅述。
在本發(fā)明實施例中,該便攜式多功能終端所包括的處理器704還具有以下功能:
響應于用戶對應用商店中應用程序的下載指令,獲取該應用程序的圖標;
根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標;
在桌面顯示所述主題圖標及其下載進度。
本發(fā)明實施例中還提供了一種計算機存儲介質,用于儲存為上述下載過程中主題圖標的建立裝置所用的計算機軟件指令,其包含用于執(zhí)行上述第二方面為下載過程中主題圖標的建立裝置所設計的程序。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,本領域內技術人員可以理解,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序指令來控制相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:只讀存儲器(ROM,Read Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁盤或光盤等。
綜上所述,本發(fā)明提供的技術方案概述如下:
A1、一種下載過程中主題圖標的建立方法,包括如下步驟:
響應于用戶對應用商店中應用程序的下載指令,獲取該應用程序的圖標;
根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標;
在桌面顯示所述主題圖標及其下載進度。
A2、根據權利要求A1所述的建立方法,在桌面顯示所述主題圖標及其下載進度的步驟包括如下具體步驟:
在桌面顯示所述主題圖標;
調用預設形狀函數獲取所述主題圖標的大小、形狀參數;
調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;
獲取當前主題圖標的下載進度,根據所述預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;
覆蓋所述灰色進度遮罩到所述主題圖標上。
A3、根據權利要求A1所述的建立方法,還包括:
調用刷新函數刷新覆蓋在該主題圖標上的灰色進度遮罩,以根據所述灰色進度遮罩跟蹤該應用程序的下載進度。
A4、根據權利要求A3所述的建立方法,還包括:
當滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩。
A5、根據權利要求A4所述的建立方法,所述預設條件包括以下任意一項:
當前桌面置于后臺;
當前桌面正處于滑動頁面;
當前桌面正處于編輯模式;
當前桌面正在執(zhí)行動畫;
當前正在執(zhí)行拖拽動作;
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內;
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài);
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。
A6、根據權利要求A5所述的建立方法,包括:
當檢測不滿足預設條件時調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩。
A7、根據權利要求A1所述的建立方法,包括:
計算所述灰色遮罩的面積,當所述應用程序下載進度變化時,按照下載進度占總進度的比例相應地對所述灰色遮罩裁剪掉同等比例的面積以生成灰色進度遮罩。
A8、根據權利要求A1所述的建立方法,包括:
所述裁剪對應于下載進度的灰色進度遮罩的方式包括扇形裁剪和條形裁剪。
A9、根據權利要求A1所述的建立方法,包括:
所述灰色遮罩為半透明遮罩。
A10、根據權利要求A1所述的建立方法,包括:
所述灰色遮罩層位于頂層,所述主題圖標層位于所述灰色遮罩層的下一層。
A11、根據權利要求A1所述的建立方法,包括:
接收應用商店或者桌面的任何一個當中對所述主題圖標的進度改變指令;
根據相應回調函數回調應用程序或應用商店,改變應用程序的下載進度。
A12、根據權利要求A1所述的建立方法,包括:
在調用刷新函數刷新在所述主題圖標上的灰色進度遮罩時,在所述主題圖標下方顯示進度條。
B13、一種下載過程中主題圖標的建立裝置,包括如下單元:
獲取單元,用于響應于用戶對應用商店中應用程序的下載指令,獲取該應用程序的圖標;
生成單元,用于根據當前桌面主題樣式生成與所述應用程序的圖標相對應的主題圖標;
顯示單元,用于在桌面顯示所述主題圖標及其下載進度。
B14、根據權利要求B13所述的建立裝置,所述顯示單元具體包括如下模塊:
桌面顯示模塊,用于在桌面顯示所述主題圖標;
參數獲取模塊,用于調用預設形狀函數獲取所述主題圖標的大小、形狀參數;
繪制模塊,用于調用預設繪圖函數繪制對應于所述主題圖標大小、形狀參數的灰色遮罩;
裁剪模塊,用于獲取當前主題圖標的下載進度,根據所述預設裁剪函數裁剪對應于下載進度的灰色進度遮罩;
覆蓋模塊,用于覆蓋所述灰色進度遮罩到所述主題圖標上。
B15、根據權利要求B13所述的建立裝置,還包括:
調用刷新函數刷新覆蓋在該主題圖標上的灰色進度遮罩,以根據所述灰色進度遮罩跟蹤該應用程序的下載進度。
B16、根據權利要求B15所述的建立裝置,還包括:
當滿足預設條件時,停止刷新覆蓋在主題圖標上的灰色進度遮罩。
B17、根據權利要求B16所述的建立裝置,所述預設條件包括以下任意一項:
當前桌面置于后臺;
當前桌面正處于滑動頁面;
當前桌面正處于編輯模式;
當前桌面正在執(zhí)行動畫;
當前正在執(zhí)行拖拽動作;
當前所述應用程序快捷方式的視圖不在正在打開的文件夾內;
當前所述應用程序快捷方式的視圖在桌面或者在快捷方式導航條,且文件夾處于打開狀態(tài);
當前所述應用程序快捷方式的視圖在桌面或者快捷方式導航條,且該視圖所在的屏幕不在當前桌面所在的屏幕。
B18、根據權利要求17所述的建立裝置,包括:
當檢測不滿足預設條件時調用刷新函數繼續(xù)刷新在所述主題圖標上的灰色進度遮罩。
B19、根據權利要求B13所述的建立裝置,包括:
計算所述灰色遮罩的面積,當所述應用程序下載進度變化時,按照下載進度占總進度的比例相應地對所述灰色遮罩裁剪掉同等比例的面積以生成灰色進度遮罩。
B20、根據權利要求B13所述的建立裝置,包括:
所述裁剪對應于下載進度的灰色進度遮罩的方式包括扇形裁剪和條形裁剪。
B21、根據權利要求B13所述的建立裝置,包括:
所述灰色遮罩為半透明遮罩。
B22、根據權利要求B13所述的建立裝置,包括:
所述灰色遮罩層位于頂層,所述主題圖標層位于所述灰色遮罩層的下一層。
B23、根據權利要求B13所述的建立裝置,還包括如下單元:
接收單元,用于接收應用商店或者桌面的任何一個當中對所述主題圖標的進度改變指令;
回調單元,用于根據相應回調函數回調應用程序或應用商店,改變應用程序的下載進度。
B24、根據權利要求B13所述的建立裝置,包括:
在調用刷新函數刷新在所述主題圖標上的灰色進度遮罩時,在所述主題圖標下方顯示進度條。
C25、一種便攜式移動終端,包括:
觸敏顯示器,用于感知操作指令并根據該指令顯示相應的界面;
存儲器,用于存儲支持收發(fā)裝置執(zhí)行上述下載過程中主題圖標的建立方法的程序;
通信接口,用于上述下載過程中主題圖標的建立裝置與其他設備或通信網絡通信;
一個或多個處理器,用于執(zhí)行所述存儲器中存儲的程序;
一個或多個應用程序,其中所述一個或多個應用程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執(zhí)行,所述一個或多個程序被配置為用于執(zhí)行權利要求A1至A12所述的任何方法。
以上對本發(fā)明所提供的一種下載過程中主題圖標的建立方法及裝置進行了詳細介紹,對于本領域的一般技術人員,依據本發(fā)明實施例的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。