不包括单词包装线?Android可能在EditText中绘制行号?
我想要做的是有一个类延伸EditText
画行号到每一行的左边。在它的表面上,通过迭代行0
到super.getLineCount()
并在行首开始绘制索引,这非常简单。
但是我没有看到一个简单的说法;跳过被包装的行(不以\n
结束的行)。例如在vim它想:
什么我用做上述方案(线数未跳过换行)
protected void onDraw(Canvas canvas) {
...
int count = getLineCount();
for (int i = 0; i < count; ++i) {
getLineBounds(i, mRect);
String num = String.valueOf(i + 1);
mPaint.getTextBounds(num, 0, num.length(), mNumberRect);
canvas.drawText(num, NUMBER_LEFT_PAD, mRect.top + mTextHeight - 5, mPaint);
}
...
super.onDraw(canvas);
}
我怎么会检测哪些线是字包线和哪些线是虚线?
'getLayout()。getLineStart(i)'会给你第一个字符在给定行上的位置。检查'position - 1'字符是否为'\ n',如果是,则不要画出行号。您需要使用单独的“int”来跟踪绘制的线数。 –