简体   繁体   English

我如何在TextView中有一行分隔线

[英]How can I have a row separating line in TextView

I want to have a line between each row in TextView . 我想在TextView每一行之间有一条线。 Can original TextView do this? 原始TextView可以这样做吗? If not, how can I do it? 如果没有,我该怎么办?

分隔线


ANSWER: 回答:

Thanks to @Slartibartfast reference and advice. 感谢@Slartibartfast参考和建议。 I made a customized TextView . 我做了一个自定义的TextView And I get something like this. 我得到这样的东西。

带行分隔符的textview

This is what I want! 这就是我要的!

The code: 代码:

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);
}

}

Use the following line of code below your TextView TextView下面使用以下代码行

<View android:layout_width="fill_parent"
    android:layout_height="1px"
    android:background="@android:color/background_dark" />

You can configure it according to your need. 您可以根据需要进行配置。

You can also use ListView with divider. 您还可以将ListView与分隔符一起使用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM