这个问题已经在这里有了答案: > create different color strike through 3个
我是android新手.我尝试了以下代码来删除线.但是,如何更改删除线的颜色(当前为黑色,我希望它为红色).我知道它可能更简单,但是即使在大量搜索之后也找不到.请帮助.谢谢.
txtview.setText("Hello");
txtview.setPaintFlags(txtview.getPaintFlags()|Paint.STRIKE_THRU_TEXT_FLAG);
解决方法:
我认为这对于简单的textview是不可能的,因此您必须执行以下操作:
1.通过扩展View类创建自定义TextView
2.像在TextView中一样,在XML布局中声明此自定义textview.
最后编写如下的onDraw()方法.
@Override
protected void onDraw(Canvas canvas) {
Paint paint = new Paint();
paint.setColor(strikeThroughColor);
paint.setStyle(Paint.Style.FILL);
paint.setStrikeThruText(true);
paint.setStrokeWidth(strikeThroughWidth);
paint.setFlags(Paint.ANTI_ALIAS_FLAG);
super.onDraw(canvas);
float width = getWidth();
float heigh = getHeight();
canvas.drawLine(width/10, heigh/10, (width-width/10),(heigh-heigh/10), paint);
}
希望对您有帮助.