在PowerPoint中,使用图像而不仅仅是颜色来填充文本很容易。这是一个例子:
我在Android中构建自定义TextView并希望重现同样的效果。我没有成功搜索Android文档,Stack Overflow或Google。有谁知道我怎么能做到这一点?在完美的工作中,我会做类似的事情:
paint.setcolor(bounds, Bitmap kitten)
答案 0 :(得分:0)
也许Xfermode.DST_IN会有所帮助。
你需要使用canvas api,首先渲染背景,然后是文本。并使用setXfermode()
。例如:
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawARGB(255, 139, 197, 186);
int canvasWidth = canvas.getWidth();
int canvasHeight = canvas.getHeight();
int layerId = canvas.saveLayer(0, 0, canvasWidth, canvasHeight, null, Canvas.ALL_SAVE_FLAG);
int r = canvasWidth / 3;
paint.setColor(0xFFFFCC44);
canvas.drawCircle(r, r, r, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
paint.setColor(0xFF66AAFF);
canvas.drawRect(r, r, r * 2.7f, r * 2.7f, paint);
paint.setXfermode(null);
canvas.restoreToCount(layerId);
}