Android 7.0 -- Luancher3 修改

一、桌面APP的摆放

Android 7.0 -- Luancher3 修改_第1张图片
Android 7.0中默认的布局文件是:

packages\apps\Launcher3\res\xml\default_workspace_5x6.xml

上图中的图标摆放布局文件如下。

<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">

    <!-- Hotseat -->
    <include launcher:workspace="@xml/dw_tablet_hotseat" />


    <appwidget
	launcher:packageName="com.google.android.googlequicksearchbox"
	launcher:className="com.google.android.googlequicksearchbox.SearchActivity"
	launcher:screen="1"
	launcher:x="0"
	launcher:y="0"
	launcher:spanX="6"
	launcher:spanY="1"/>

    <folder
        launcher:title="@string/microsoft_folder_title"
        launcher:screen="1"
        launcher:x="0"
        launcher:y="4">
    <favorite
            launcher:packageName="com.microsoft.office.onenote"
            launcher:className="com.microsoft.office.onenote.ui.ONMSplashActivity"/>
    <favorite
            launcher:packageName="com.microsoft.skydrive"
            launcher:className="com.microsoft.skydrive.MainActivity"/>
	<favorite
	    launcher:packageName="com.microsoft.office.outlook"
	    launcher:className="com.microsoft.office.outlook.MainActivity"/>
	<favorite
	    launcher:packageName="com.microsoft.office.word"
	    launcher:className="com.microsoft.office.apphost.LaunchActivity"/>
	<favorite
	    launcher:packageName="com.microsoft.office.excel"
	    launcher:className="com.microsoft.office.apphost.LaunchActivity"/>
	<favorite
	    launcher:packageName="com.microsoft.office.powerpoint"
	    launcher:className="com.microsoft.office.apphost.LaunchActivity"/>
        <favorite
            launcher:packageName="com.skype.raider"
            launcher:className="com.skype.raider.Main"/>
    </folder>
    
	<folder
        launcher:title="@string/google_folder_title"
        launcher:screen="1"
        launcher:x="0"
        launcher:y="3">
    <favorite
            launcher:packageName="com.google.android.googlequicksearchbox"
            launcher:className="com.google.android.googlequicksearchbox.SearchActivity"/>
    <favorite
            launcher:packageName="com.android.chrome"
            launcher:className="com.google.android.apps.chrome.Main"/>
	<favorite
	    launcher:packageName="com.google.android.gm"
	    launcher:className="com.google.android.gm.ConversationListActivityGmail"/>
	<favorite
	    launcher:packageName="com.google.android.apps.maps"
	    launcher:className="com.google.android.maps.MapsActivity"/>
	<favorite
	    launcher:packageName="com.google.android.youtube"
	    launcher:className="com.google.android.youtube.app.honeycomb.Shell$HomeActivity"/>
	<favorite
	    launcher:packageName="com.google.android.apps.docs"
	    launcher:className="com.google.android.apps.docs.app.NewMainProxyActivity"/>
    <favorite
            launcher:packageName="com.google.android.music"
            launcher:className="com.android.music.activitymanagement.TopLevelActivity"/>
    <favorite
	    launcher:packageName="com.google.android.videos"
	    launcher:className="com.google.android.youtube.videos.EntryPoint"/>
    <favorite
	    launcher:packageName="com.google.android.apps.tachyon"
	    launcher:className="com.google.android.apps.tachyon.MainActivity"/>
    <favorite
	    launcher:packageName="com.google.android.apps.photos"
	    launcher:className="com.google.android.apps.photos.home.HomeActivity"/>



    </folder>

	
	<favorite
        launcher:packageName="com.navitel"
        launcher:className="com.navitel.Navitel"
        launcher:screen="1"
        launcher:x="4"
        launcher:y="3" />

   <favorite
        launcher:packageName="com.android.vending"
        launcher:className="com.android.vending.AssetBrowserActivity"
        launcher:screen="1"
        launcher:x="5"
        launcher:y="3" />

    <folder
        launcher:title="@string/irbis_folder_title"
        launcher:screen="1"
        launcher:x="4"
        launcher:y="4">
        <favorite
            launcher:packageName="ru.ok.android"
            launcher:className="ru.ok.android.ui.activity.main.OdklActivity"/>
        <favorite
            launcher:packageName="com.vkontakte.android"
            launcher:className="com.vkontakte.android.MainActivity"/>
  
    </folder>

    <folder
        launcher:title="@string/yandex_folder_title"
        launcher:screen="1"
        launcher:x="5"
        launcher:y="4">
        <favorite
            launcher:packageName="ru.yandex.searchplugin"
            launcher:className="ru.yandex.searchplugin.MainActivity"/>

    </folder>


</favorites>

这里面关于图标的摆放位置的坐标如图所示。
Android 7.0 -- Luancher3 修改_第2张图片
5行6列,只要在布局文件中改变X,Y的值即可放置到你想要的位置。

二、HotSeat图标

在上面5x6布局文件中我们可以看到开头部分引用了这个布局


我们打开源码里面这个布局可以看到:


<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
    <!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
    <!-- dialer, contacts, [All Apps], messaging, browser -->

	<resolve
        launcher:container="-101"
        launcher:screen="0"
        launcher:x="0"
        launcher:y="0" >
        <favorite launcher:uri="#Intent;action=android.intent.action.DIAL;end" />
        <favorite launcher:uri="tel:123" />
        <favorite launcher:uri="#Intent;action=android.intent.action.CALL_BUTTON;end" />
        <favorite
            launcher:packageName="com.android.dialer"
            launcher:className="com.android.dialer.DialtactsActivity" />
    </resolve>
    <resolve
        launcher:container="-101"
        launcher:screen="1"
        launcher:x="1"
        launcher:y="0" >
        <favorite
            launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MESSAGING;end" />
        <favorite launcher:uri="sms:" />
        <favorite launcher:uri="smsto:" />
        <favorite launcher:uri="mms:" />
        <favorite launcher:uri="mmsto:" />
        <favorite
            launcher:packageName="com.android.mms"
            launcher:className="com.android.mms.ui.ConversationList" />
    </resolve>

    <!-- All Apps -->

    <resolve
        launcher:container="-101"
        launcher:screen="3"
        launcher:x="3"
        launcher:y="0" >
        <favorite
		launcher:packageName="com.android.camera2"
		launcher:className="com.android.camera.CameraLauncher"/>
    </resolve>

    <resolve
        launcher:container="-101"
        launcher:screen="4"
        launcher:x="4"
        launcher:y="0" >
        <favorite
			launcher:packageName="com.android.chrome"
			launcher:className="com.google.android.apps.chrome.Main"/>
    </resolve>

</favorites>

你可能感兴趣的:(Android源码)