由於剛剛啓動android 源碼的學習 上週完成了android 4.0.3的下載與編譯 這周開始着手對launcher進行修改
這是我們桌面的界面
我希望把Camera 開機的時候移動到左側。恩就是這樣。
首先介紹下原理 (雖然我也不是很懂 希望不是誤導大家 我寫這個更多爲了自己經驗的積累 別噴我。。)
下面是XML代碼 位於android源代碼目錄下的(android版本不同可能有差異)
.../packages/apps/Launcher2/res/xml/default_workspace.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2009 The Android Open Source Project
。。。。。省略1000字
-->
<favorites xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher">
<!-- Far-left screen [0] -->
<!-- Left screen [1] -->
<appwidget
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.widget.SettingsAppWidgetProvider"
launcher:screen="1"
launcher:x="0"
launcher:y="2"
launcher:spanX="4"
launcher:spanY="1" />
<!-- Middle screen [2] -->
<appwidget
launcher:packageName="com.android.deskclock"
launcher:className="com.android.alarmclock.AnalogAppWidgetProvider"
launcher:screen="2"
launcher:x="1"
launcher:y="0"
launcher:spanX="2"
launcher:spanY="2" />
<favorite
launcher:packageName="com.android.camera"
launcher:className="com.android.camera.Camera"
launcher:screen="2"
launcher:x="3"
launcher:y="3" />
<!-- Right screen [3] -->
<favorite
launcher:packageName="com.android.gallery3d"
launcher:className="com.android.gallery3d.app.Gallery"
launcher:screen="3"
launcher:x="0"
launcher:y="3" />
<favorite
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.Settings"
launcher:screen="3"
launcher:x="2"
launcher:y="3" />
<!-- 省略1000字 -->
</favorites>
簡單介紹下 一下內容部分轉載自 http://www.apkbus.com/forum.php?mod=viewthread&tid=125384
<appwidget //插件
launcher:className="de.dnsproject.clock_widget_main.Clock1AppWidgetProvider" //該應用的類
launcher:packageName="de.dnsproject.clock_widget_main" //該應用的包名
launcher:screen="1" //第1屏,0-4屏共5屏
launcher:x="2" //圖標X位置,左上角第一個爲0,向左遞增,0-4共5個
launcher:y="1" //圖標Y位置,左上角第一個爲0,向下遞增,0-2共3個
launcher:spanX="3" //在x方向上所佔格數
launcher:spanY="2" /> //在y方向上所佔格數
快捷方式說明
<favorite //程序快捷鍵屬性標籤
launcher:className="com.apical.radio.radioMainActivity" //該應用的類,點擊圖標時,需要啓動的類
launcher:packageName="com.apical.radio" //該應用的包名
launcher:screen="1" //第1屏,0-4屏共5屏
launcher:x="0" //圖標X位置,左上角第一個爲0,向左遞增,0-4共5個
launcher:y="0" //圖標Y位置,左上角第一個爲0,向下遞增,0-2共3個
/>
反正改位置就修改 這裏後面的值就OK了 launcher:x="0"
launcher:y="0" 修改後要使源碼生效需要(我是懶人 ,,直接make的。。)
mmm packages/apps/Launcher2
make snod
還需要把之前的用戶數據清空(我之前一直不知道還有這一步。。卡了很久) 我
們使用adb工具 先開啓emulator 然後 adb devices 觀察下 發現有隻emulator
adb -s emulator-5554 shell
連上後
cd data/data/com.android.launcher
rm -r databases
重新運行emulator就OK了~ 是不是位置或者大小改變了呢