不包括單詞包裝線?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」來跟蹤繪製的線數。 –