Android12 Launcher3 最近任务客制化

实现的最终效果:

目录

修改图标位置+添加应用名称

代码实现:

图标控件的边距调整:

多任务背景改成壁纸

修改Task预览图的圆角半径:

清除全部按钮移动到底部显示

首先隐藏原有的清除按钮:

添加新的底部清除全部按钮:

最近任务为空时的图片、字体颜色等

缩放效果


修改图标位置+添加应用名称

修改类:com.android.quickstep.views.IconView.java

把应用名称放到图标右边,方案:自定义view在onDraw里面canvas.drawText

代码实现:

增加字段:

//增加应用名称
private String mText;
private Paint mTxtPain;
private int mTextMargins;

在构造函数里面增加初始化的方法initView(),初始化画笔的属性:

private void initView() {
    mTxtPain = new Paint();
    mTxtPain.setColor(ContextCompat.getColor(getContext(), R.color.recent_task_text));//字体颜色
    mTxtPain.setFlags(Paint.ANTI_ALIAS_FLAG);
    mTxtPain.setTextSize(getResources().getDimension(R.dimen.notification_main_title_size));//自己定义字体字号
    mTxtPain.setTextAlign(Paint.Align.LEFT);//左对齐

    mTextMargins = (int) getResources().getDimension(R.dimen.task_thumbnail_icon_margin);//10dp
}

增加提供给外部调用设置文本方法:

//这里设置完文本后面图片资源会去绘制,所以这里不需要invalidate来重复绘制一遍
public void setText(String text){
    setText(text,false);
}
//如果在绘制完图标图片资源之后还想要修改文本,则需要重新绘制,需要invalidate传true
public void setText(String text,boolean invalidate){
    this.mText = text;
  

猜你喜欢

转载自blog.csdn.net/qq_35584878/article/details/129006112