Android12 Launcher3 的一些修改记录

Launcher3 桌面是如何屏蔽返回手势的:

查看LauncherState类,可以看到枚举类型,可以看到NORMAL对象实例化的时候传入的参数flags传了有包含“FLAG_HIDE_BACK_BUTTON”,则会屏蔽返回手势

是否显示返回手势指示具体实现在com.android.launcher3.BaseQuickstepLauncher#shouldBackButtonBeHidden里面。

Launcher3新安装应用从第二页开始放:

类AddWorkspaceItemsTask中,findSpaceForItem方法:

for (int screen = 0; screen < screenCount; screen++)
//screen改成1,从第二页开始查找
for (int screen = 1; screen < screenCount; screen++)

Launcher3图标去掉背景,前景做圆角裁剪,缩放:

Android10 Launcher3应用图标圆角角度调整_android app logo圆角_杰克W的博客-CSDN博客

 其中,上面这篇文章中getRoundCornerBitmap方法里面使用matrix.postScale缩放没有效果,我这边采用画布缩放的方式:

        // 边角处理
        Bitmap output = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(output);
        canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
        final Paint paint = new Paint();
        final Rect rect = new Rect(0, 0, width, height);
        final RectF rectF = new RectF(1f, 1f, width - 1f, height - 1f);
        paint.setAntiAlias(true);
        canvas.drawARGB(0, 0, 0, 0);
        float rx = width / ratio;
        float ry = height / ratio;
        //缩放效果
        canvas.save();
        canvas.scale(scale, scale, width/2f, height/2f);
        canvas.drawRoundRect(rectF, rx, ry, paint);
        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
        canvas.drawBitmap(bitmap, rect, rect, paint);
        canvas.restore();
        bitmap.recycle();
        return output;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值