我需要将TextView与大纲文本一起使用。我尝试使用它:https://stackoverflow.com/a/10294290/4181010,但它与android:layout_width="wrap_content"
无法正常工作,因为在添加轮廓时它不会增加画布。
我需要增加画布以包含strokeWidth的值。
我建议我必须以某种方式覆盖onMeasure,但TextView在onMeasure结束时调用final方法setMeasuredDimension来应用视图大小,此时我无法干预以便不必重写整个方法。
在OnDraw中缩放画布也不起作用,因为TextView缩放使用画布绘制文本。
我的解决方案是增加画布并使用canvas.translate()在绘制文本之前移动到正确的位置。
我的问题是:如何以最小的干预增加画布的大小?或者有人知道这个问题的另一种解决方案?
答案 0 :(得分:0)
我猜你正在两次绘制文本,一次用橙色(在画布上手动)和一次用白色(TextView
用super.onDraw
绘制的内容)。
不是手动绘制较大的橙色,而是绘制较小的白色文本,并将橙色文本留给TextView
的{{1}}。这样一切都应该适合画布。