前言
歡迎大家我分享和推薦好用的代碼段~~
聲明
歡迎轉載,但請保留文章原始出處:
CSDN:
雨季o莫憂離:
正文
KK Launcher3的wallpaper顯示是動态的,與Launcher預置桌面數目有關,讓桌面居中,隻能確定第一次開機時桌面居中,後面使用者修改桌面數目後,就無法達到了。如何要在預設桌面數目配置時居中,可以參考下面方法,以default一屏為例:
Launcher3的workspace.java檔案替換下面的函數
private void updateOffset(boolean force) {
if (mWaitingForUpdate || force) {
mWaitingForUpdate = false;
LauncherLog.d(TAG, "updateOffset: mWallpaperOffset = " + mWallpaperOffset.getCurrX());
if (computeScrollOffset() && mWindowToken != null) {
try {
if (getChildCount() <= 1) {
LauncherLog.d(TAG, "wallpaperOffset 111");
mWallpaperManager.setWallpaperOffsets(mWindowToken,
/* mWallpaperOffset.getCurrX()*/0.5f, 0.5f);
}else{
LauncherLog.d(TAG, "wallpaperOffset 222");
mWallpaperManager.setWallpaperOffsets(mWindowToken,
mWallpaperOffset.getCurrX(), 0.5f);
}
setWallpaperOffsetSteps();
} catch (IllegalArgumentException e) {
Log.e(TAG, "Error updating wallpaper offset: " + e);
}
}
}
}