更改TextView的画布大小

时间:2015-02-13 05:56:30

标签: android textview outline

我需要将TextView与大纲文本一起使用。我尝试使用它:https://stackoverflow.com/a/10294290/4181010,但它与android:layout_width="wrap_content"无法正常工作,因为在添加轮廓时它不会增加画布。

enter image description here

我需要增加画布以包含strokeWidth的值。

我建议我必须以某种方式覆盖onMeasure,但TextView在onMeasure结束时调用final方法setMeasuredDimension来应用视图大小,此时我无法干预以便不必重写整个方法。

在OnDraw中缩放画布也不起作用,因为TextView缩放使用画布绘制文本。

我的解决方案是增加画布并使用canvas.translate()在绘制文本之前移动到正确的位置。
我的问题是:如何以最小的干预增加画布的大小?或者有人知道这个问题的另一种解决方案?

1 个答案:

答案 0 :(得分:0)

我猜你正在两次绘制文本,一次用橙色(在画布上手动)和一次用白色(TextViewsuper.onDraw绘制的内容)。

不是手动绘制较大的橙色,而是绘制较小的白色文本,并将橙色文本留给TextView的{​​{1}}。这样一切都应该适合画布。