一段很简单的代码送给大家,开始做的时候去百度搜了一下TextView删除线这样的例子,但是都很有限制,不能改变删除线的颜色。希望我的代码可以帮助到大家。Thanks!!! 可以控制删除颜色和直线宽度。
文章后面会附有源码。
效果图:
一、自定义TextView
package com.ui.widget;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;
import com.ydfengqing.cheyouyi.R;
/**
* 自定义TextView删除线
* @author wu
*/
public class TextViewDel extends TextView {
private boolean flag;
public TextViewDel(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (flag) {
Paint paint = new Paint();
// 设置直线的颜色
paint.setColor(getResources().getColor(R.color.green));
// 设置直线没有锯齿
paint.setAntiAlias(true);
// 设置线宽
paint.setStrokeWidth((float) 3.0);
// 设置直线位置
canvas.drawLine(0, this.getHeight() / 2, this.getWidth(),
this.getHeight() / 2, paint);
}
}
/**
* true显示删除线 false不显示删除线
* @param flag
* @return flag
*/
public boolean setTv(boolean flag) {
this.flag = flag;
return flag;
}
}
二、调用的XML
<com.ui.widget.TextViewDel
android:id="@+id/payMoneyTvDel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="¥20.000000"
android:textColor="@color/orange"
android:textSize="15sp" />
源码下载地址http://download.csdn.net/detail/u013752594/8895805