Android14 Launcher3 定制主页丝滑使用Recents功能 (三)

我们接着前两篇继续分析:

Android14 Launcher3 定制主页丝滑使用Recents功能 (一)

Android14 Launcher3 定制主页丝滑使用Recents功能 (二)

一、Launcher3修改

1、修改最近任务页面清单配置

1)、清单xml修改

./packages/apps/Launcher3/quickstep/AndroidManifest.xml

修改前:

<activity android:name="com.android.quickstep.RecentsActivity"
     android:excludeFromRecents="true"
     android:launchMode="singleTask"
     android:clearTaskOnLaunch="true"
     android:stateNotNeeded="true"
     android:theme="@style/LauncherTheme"
     android:screenOrientation="unspecified"
     android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenSize|screenLayout|smallestScreenSize"
     android:resizeableActivity="true"
     android:resumeWhilePausing="true"
     android:taskAffinity=""/>

修改后:

<activity android:name="com.android.quickstep.RecentsActivity"
     android:excludeFromRecents="true"
     android:launchMode="singleTask"
     android:clearTaskOnLaunch="true"
     android:stateNotNeeded="true"
     android:theme="@style/RecentsTheme"
     android:screenOrientation="unspecified"
     android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenSize|screenLayout|smallestScreenSize"
     android:resizeableActivity="true"
     android:resumeWhilePausing="false"
     android:taskAffinity=""
     android:windowAnimationStyle="@style/NoAnimation" />

修改patch:

android:launchMode="singleTask"
              android:clearTaskOnLaunch="true"
              android:stateNotNeeded="true"
-             android:theme="@style/LauncherTheme"
+             android:theme="@style/RecentsTheme"
              android:screenOrientation="unspecified"
              android:configChanges="keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenSize|screenLayout|smallestScreenSize"
              android:resizeableActivity="true"
-             android:resumeWhilePausing="true"
-             android:taskAffinity=""/>
+             android:resumeWhilePausing="false"
+             android:taskAffinity=""
+             android:windowAnimationStyle="@style/NoAnimation" />

修改说明:

指定窗口动画为NoAnimation,不给窗口指定动画

指定theme为RecentsTheme,里面设置了背景图片

2)、style修改

修改前的theme为:LauncherTheme

./packages/apps/Launcher3/res/values/styles.xml

<!-- Launcher theme -->
<style name="BaseLauncherTheme" parent="@android:style/Theme.DeviceDefault.Light">
    <item name="disabledIconAlpha">.54</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
    <item name="android:colorEdgeEffect">#FF757575</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowShowWallpaper">true</item>
</style>

<style name="LauncherTheme" parent="@style/BaseLauncherTheme">
    <item name="android:textColorSecondary">#DE000000</item>
    <item name="allAppsScrimColor">?attr/materialColorSurfaceDim</item>
    <item name="allappsHeaderProtectionColor">@color/popup_color_tertiary_light</item>
    <item name="allAppsNavBarScrimColor">#66FFFFFF</item>
    <item name="popupColorPrimary">@color/popup_color_primary_light</item>
    <item name="popupColorSecondary">@color/popup_color_secondary_light</item>
    <item name="popupColorTertiary">@color/popup_color_tertiary_light</item>
    <item name="popupColorBackground">#EFEDED</item>
    <item name="popupTextColor">@color/popup_text_color_light</item>
    <item name="popupShadeFirst">@color/popup_shade_first_light</item>
    <item name="popupShadeSecond">@color/popup_shade_second_light</item>
    <item name="popupShadeThird">@color/popup_shade_third_light</item>
    <item name="popupNotificationDotColor">@color/popup_notification_dot_light</item>
    <item name="notificationDotColor">@color/notification_dot_color_light</item>
    <item name="isMainColorDark">false</item>
    <item name="isWorkspaceDarkText">false</item>
    <item name="workspaceTextColor">@color/workspace_text_color_light</item>
    <item name="workspaceShadowColor">#B0000000</item>
    <item name="workspaceAmbientShadowColor">#40000000</item>
    <item name="workspaceKeyShadowColor">#89000000</item>
    <item name="workspaceStatusBarScrim">@drawable/workspace_bg</item>
    <item name="widgetsTheme">@style/WidgetContainerTheme</item>
    <item name="folderPaginationColor">@color/folder_pagination_color_light</item>
    <item name="folderPreviewColor">@color/folder_preview_light</item>
    <item name="folderBackgroundColor">@color/folder_background_light</item>
    <item name="folderIconBorderColor">?android:attr/colorPrimary</item>
    <item name="isFolderDarkText">true</item>
    <item name="folderTextColor">@color/folder_text_color_light</item>
    <item name="folderHintTextColor">@color/folder_hint_text_color_light</item>
    <item name="loadingIconColor">#CCFFFFFF</item>
    <item name="iconOnlyShortcutColor">?android:attr/textColorSecondary</item>
    <item name="eduHalfSheetBGColor">?android:attr/colorAccent</item>
    <item name="workspaceAccentColor">@color/workspace_accent_color_light</item>
    <item name="workspaceSurfaceColor">@color/workspace_surface_color</item>
    <item name="dropTargetHoverTextColor">@color/drop_target_hover_text_color_light</item>
    <item name="dropTargetHoverButtonColor">@color/drop_target_hover_button_color_light</item>
    <item name="overviewScrimColor">@color/overview_scrim</item>
    <item name="preloadIconAccentColor">@color/preload_icon_accent_color_light</item>
    <item name="preloadIconBackgroundColor">@color/preload_icon_background_color_light</item>
    <item name="android:windowTranslucentStatus">false</item>
    <item name="android:windowTranslucentNavigation">false</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">#00000000</item>
    <item name="android:navigationBarColor">#00000000</item>
    <item name="android:switchStyle">@style/SwitchStyle</item>

    <item name="materialColorOnSecondaryFixedVariant">@color/material_color_on_secondary_fixed_variant</item>
    <item name="materialColorOnTertiaryFixedVariant">@color/material_color_on_tertiary_fixed_variant</item>
    <item name="materialColorSurfaceContainerLowest">@color/material_color_surface_container_lowest</item>
    <item name="materialColorOnPrimaryFixedVariant">@color/material_color_on_primary_fixed_variant</item>
    <item name="materialColorOnSecondaryContainer">@color/material_color_on_secondary_container</item>
    <item name="materialColorOnTertiaryContainer">@color/material_color_on_tertiary_container</item>
    <item name="materialColorSurfaceContainerLow">@color/material_color_surface_container_low</item>
    <item name="materialColorOnPrimaryContainer">@color/material_color_on_primary_container</item>
    <item name="materialColorSecondaryFixedDim">@color/material_color_secondary_fixed_dim</item>
    <item name="materialColorOnErrorContainer">@color/material_color_on_error_container</item>
    <item name="materialColorOnSecondaryFixed">@color/material_color_on_secondary_fixed</item>
    <item name="materialColorOnSurfaceInverse">@color/material_color_on_surface_inverse</item>
    <item name="materialColorTertiaryFixedDim">@color/material_color_tertiary_fixed_dim</item>
    <item name="materialColorOnTertiaryFixed">@color/material_color_on_tertiary_fixed</item>
    <item name="materialColorPrimaryFixedDim">@color/material_color_primary_fixed_dim</item>
    <item name="materialColorSecondaryContainer">@color/material_color_secondary_container</item>
    <item name="materialColorErrorContainer">@color/material_color_error_container</item>
    <item name="materialColorOnPrimaryFixed">@color/material_color_on_primary_fixed</item>
    <item name="materialColorPrimaryInverse">@color/material_color_primary_inverse</item>
    <item name="materialColorSecondaryFixed">@color/material_color_secondary_fixed</item>
    <item name="materialColorSurfaceInverse">@color/material_color_surface_inverse</item>
    <item name="materialColorSurfaceVariant">@color/material_color_surface_variant</item>
    <item name="materialColorTertiaryContainer">@color/material_color_tertiary_container</item>
    <item name="materialColorTertiaryFixed">@color/material_color_tertiary_fixed</item>
    <item name="materialColorPrimaryContainer">@color/material_color_primary_container</item>
    <item name="materialColorOnBackground">@color/material_color_on_background</item>
    <item name="materialColorPrimaryFixed">@color/material_color_primary_fixed</item>
    <item name="materialColorOnSecondary">@color/material_color_on_secondary</item>
    <item name="materialColorOnTertiary">@color/material_color_on_tertiary</item>
    <item name="materialColorSurfaceDim">@color/material_color_surface_dim</item>
    <item name="materialColorSurfaceBright">@color/material_color_surface_bright</item>
    <item name="materialColorOnError">@color/material_color_on_error</item>
    <item name="materialColorSurface">@color/material_color_surface</item>
    <item name="materialColorSurfaceContainerHigh">@color/material_color_surface_container_high</item>
    <item name="materialColorSurfaceContainerHighest">@color/material_color_surface_container_highest</item>
    <item name="materialColorOnSurfaceVariant">@color/material_color_on_surface_variant</item>
    <item name="materialColorOutline">@color/material_color_outline</item>
    <item name="materialColorOutlineVariant">@color/material_color_outline_variant</item>
    <item name="materialColorOn
© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容