android自定义带下划线EditText解决文字压线的问题

最近做项目,需要用到带下划线的EditText,通过学习Android提供的示例Notepad,对其进行小小的改动,解决文字压线的问题,但是光标压线的问题没有解决,希望以后能够解决,效果和代码如下:

效果图:

 

 

代码:

public class UnderlineEditText extends EditText { 
    private static final String TAG = "UnderlineEditText"; 
    private Paint mPaint; 
    private Rect mRect; 
    private float mult = 1.5f; 
    private float add = 2.0f; 
    public UnderlineEditText(Context context, AttributeSet attrs) { 
        super(context, attrs); 
        init(); 
    } 
    public UnderlineEditText(Context context) { 
        super(context); 
        init(); 
    } 
    private void init() { 
        mRect = new Rect(); 
        mPaint = new Paint(); 
        mPaint.setStyle(Paint.Style.STROKE); 
        mPaint.setColor(Color.GRAY); 
        mPaint.setAntiAlias(true); 
        this.setLineSpacing(add, mult); 
    } 
    @Override 
    public void onDraw(Canvas canvas) { 
        Log.d(TAG, "func \[onDraw\]"); 
        int count = getLineCount(); 
        for (int i = 0; i < count; i++) { 
            getLineBounds(i, mRect); 
            int baseline = (i + 1) * getLineHeight(); 
            canvas.drawLine(mRect.left, baseline, mRect.right, baseline, mPaint); 
        } 
        super.onDraw(canvas); 
    } 
}