Andorid TextView字幕效果实例

内容摘要
一、效果图 二、代码 复制代码 代码如下: public class TextSubView extends TextView {

private TextPaint mPaint;

public TextSubView(Context context, AttributeSe
文章正文
一、效果图

二、代码
复制代码 代码如下:

public class TextSubView extends TextView {

private TextPaint mPaint;

public TextSubView(Context context, AttributeSet attrs) {
super(context, attrs);

mPaint = new TextPaint(getPaint());
mPaint.setStyle(TextPaint.Style.STROKE);
mPaint.setShadowLayer(2.0F, 2.0F, 2.0F, Color.RED);
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

canvas.save();
canvas.clipRect(0, 0, 55, getBottom());
canvas.drawText(getText().toString(), 0, getBaseline(), mPaint);
canvas.restore();
}
}

代码说明

关键是setShadowLayer设置阴影效果以及onDraw的四行代码,大家可以搜一下"Android clipRect"了解一下这个函数的作用,注意clipRect与drawText的顺序不要弄反了。
代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!