Ohne Wort Zeilen umgebrochen?Android möglich zum Zeichnen von Zeilennummern in EditText?
Was ich tun möchte, ist eine Klasse, die EditText
Zeilennummern auf der linken Seite jeder Zeile zu erweitern. Auf der Vorderseite ist dies ziemlich einfach, indem man die Zeilen 0
bis super.getLineCount()
iteriert und einen Index am Anfang einer Zeile zeichnet.
Aber was ich sehe nicht ein einfaches sagen zu tun; Überspringe Zeilen, die umgebrochen sind (Zeilen, die nicht mit einer \n
enden). Zum Beispiel in vim würde es mögen:
Was ich bin mit dem obigen Szenario zu tun (Linie zählt nicht umgebrochen Linien Skipping)
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);
}
Wie würde ich die Linien Wort erkennen eingewickelte Linien und welche sind durchbrochene Linien?
'getLayout(). GetLineStart (i)' gibt Ihnen die Position des ersten Zeichens in einer gegebenen Zeile. Überprüfen Sie, ob das Zeichen 'position - 1'' \ n' ist, und zeichnen Sie keine Zeilennummer, wenn dies der Fall ist. Sie müssen ein separates "int" verwenden, um die gezeichneten Zeilennummern zu verfolgen. –