4

の各行の間に線を入れたいTextView。オリジナルTextViewはこれを行うことができますか?そうでない場合は、どうすればよいですか?

区切り線


答え:

@Slartibartfast の参照とアドバイスに感謝します。カスタマイズして作りましたTextView。そして、私はこのようなものを手に入れます。

行区切り付きのテキストビュー

これは私が欲しいものです!

コード:

public class LinedTextView extends TextView {

private Rect mRect;
private Paint mPaint;

public LinedTextView(Context context) {
    super(context);
    initialize();
}

public LinedTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    initialize();

}

public LinedTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    initialize();
}

private void initialize() {

    mRect = new Rect();
    mPaint = new Paint();
    mPaint.setStyle(Paint.Style.STROKE);
    mPaint.setColor(0x800000ff);
}

@Override
protected void onDraw(Canvas canvas) {

    int cnt = getLineCount();
    Rect r = mRect;
    Paint paint = mPaint;
    for (int i = 0; i < cnt; i++) {
        int baseLine = getLineBounds(i, r);
        canvas.drawLine(r.left, baseLine + 1, r.right, baseLine + 1, paint);
    }

    super.onDraw(canvas);
}

}
4

1 に答える 1