android 案頭捷徑、視窗小組件、檔案夾、書籤 launcher、appwidget、shortcut、folder、bookmark

來源:互聯網
上載者:User
1. 案頭上favorites介紹

的launcher案頭中間有四個元素,上面是一個時鐘的視窗小組件,下面一排分別是一個Camera,一個Amazon書籤,一個檔案夾(檔案夾中是Settings和Clock)。

在代碼中它們都是favorites分別稱為:APPWIDGET、APPLICATION、SHORTCUT、FOLDER。

2. 資料庫查看

favorites儲存在資料庫中。

匯出資料庫檔案 data/data/com.android.launcher/databases/launcher.db

favorites表的結構

表中的資料,對應圖1

intent的特寫

3. 資料庫中favorites表簡介

· _id                        · title             顯示的名字· intent          · container         容器:                       CONTAINER_DESKTOP=-100,預設值;                       CONTAINER_HOTSEAT=-101,常駐在螢幕下方,手機上的最下面一行,平板上沒有,所以圖3中的Brower在圖1中沒有;                       圖3中的Clock,Settings的container是6,表示他們屬於Folder。· screen           所屬的螢幕。· cellX            x軸上的位置。· cellY            y軸上的位置。· spanX            寬度,預設為1。· spanY            高度,預設為1。· itemType         類型:                       ITEM_TYPE_APPLICATION = 0;                        ITEM_TYPE_SHORTCUT = 1;                       ITEM_TYPE_FOLDER = 2;                       ITEM_TYPE_LIVE_FOLDER = 3;                       ITEM_TYPE_APPWIDGET = 4;· appWidgetId· isShortcut· iconType· iconPackage· iconResource· icon· uri· displayMode

詳細的可以查看Launcher2\src\com\android\launcher2\LauncherSettings.java

4. 給案頭添加預設的favorites 

launcher上的預設的favorite是在Launcher2\res\xml\default_workspace.xml中定義的。(Launcher2\res\xml-sw600dp\default_workspace.xml、Launcher2\res\xml-sw720dp\default_workspace.xml)

<?xml version="1.0" encoding="utf-8"?><favorites xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" >    <appwidget        launcher:className="com.android.alarmclock.AnalogAppWidgetProvider"        launcher:packageName="com.android.deskclock"        launcher:screen="4"        launcher:spanX="2"        launcher:spanY="2"        launcher:x="2"        launcher:y="0" />    <favorite        launcher:className="com.android.camera.CameraLauncher"        launcher:packageName="com.android.gallery3d"        launcher:screen="4"        launcher:x="1"        launcher:y="3" />    <shortcut        launcher:icon="@drawable/ic_home_voice_search_holo"        launcher:screen="4"        launcher:title="@string/application_name"        launcher:uri="https://www.amazon.com/gp/feature.html?ie=UTF8&amp;docId=1000626391"        launcher:x="2"        launcher:y="3" />    <folder        launcher:icon="@drawable/ic_launcher_home"        launcher:screen="4"        launcher:title="@string/folder_name_format"        launcher:x="3"        launcher:y="3" >        <favorite            launcher:className="com.android.settings.Settings"            launcher:packageName="com.android.settings" />        <favorite            launcher:className="com.android.deskclock.DeskClock"            launcher:packageName="com.android.deskclock" />    </folder>    <!-- Hotseat (We use the screen as the position of the item in the hotseat) -->    <favorite        launcher:className="com.android.browser.BrowserActivity"        launcher:container="-101"        launcher:packageName="com.android.browser"        launcher:screen="4"        launcher:x="4"        launcher:y="0" /></favorites>

5. 工具附件及介紹

自己寫的一個程式,協助產生default_workspace.xml,可惜還不支援shortcut和folder

下載

之前在Launcher上添加應用或者視窗小組件,需要找到包名和類名,以及位置等,然後手動在代碼中添加。現在只需要在案頭上拖動添加,然後運行該程式,就會產生當前案頭應用和視窗小組件的布局檔案,儲存在/mnt/sdcard/default_workspace.xml中。將該檔案直接替換packages\apps\Launcher2\res\xml-sw720dp\default_workspace.xml即可。

按後退鍵還有其他的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.