2015-01-05 1 views
0

독자를 씁니다. 내 페이지의 텍스트를 올바르게 표시하려면 표시 할 수있는 문자 수는 얼마인지 알아야합니다.StaticLayout 표시 문자 수를 받으십시오.

TextPaint mTextPaint=new TextPaint(); 
     mTextPaint.setTextSize(16); 

     StaticLayout mTextLayout = new StaticLayout(newText, mTextPaint, canvas.getWidth() - 20, Alignment.ALIGN_NORMAL, 1.5f, 0.0f, false); 
     canvas.save(); 


     int x = 10, y = 50; 
      y += p.ascent() + p.descent(); 

      canvas.translate(x, y); 

      mTextLayout.draw(canvas); 
      canvas.restore(); 

답변

1

먼저 보이는 마지막 줄이 필요합니다. Layout.getLineForVertical 메소드로 얻을 수 있습니다. 텍스트는 방법과 일치 오프셋을 얻을 수있는 그 후 Layout.getLineEnd/Layout.getLineVisibleEnd

예 :!

int line = mTextLayout.getLineForVertical(canvas.getHeight()); // position of last visible line 
int chars = mTextLayout.getLineEnd(line); 
+0

감사합니다 당신은 나에게 많은 도움이! –

관련 문제