기준선을 완벽하게 정렬 할 수 있습니다. getLineBounds
은 텍스트와 완벽하게 정렬 된 기준선을 제공합니다 (lineBottom - descent). rect.top
을 화면 상단에 패딩이있는 줄을 제공하는 topline으로 사용하고 있습니다.텍스트를 완벽하게 정렬하는 선을 그리는 방법은 무엇입니까?
주요 문제는이 코드가 어떤 글꼴에 완벽하게 작동 다른 fonts.And을 가지고있다.
이
이 내가 시도 무엇 코드int baseline = getLineBounds(i, rect);
int topLine = rect.top;
canvas.drawLine(rect.left - padding, baseline, rect.right + padding,
baseline, paint);
canvas.drawLine(rect.left - padding, topLine, rect.right + padding, topLine,
paint);
canvas.drawLine(rect.left - padding, (baseline + topLine)/2, rect.right
+ padding, (baseline + topLine)/2, paint1);
입니다.
1) "StaticLayout"을 사용하여 맨 윗줄을 얻었지만 아무런 차이가 없었습니다. FontPadding으로 시도 글꼴의 높이를 얻고 기준
paint.setTextSize(getTextSize());
paint.setTypeface(getCurrentTypFace());
paint.getTextBounds(getText().toString(), 0, getText().length(), r);
int height = r.height();
int topLine = baseline + height;
3을 추가하는 페인트 사용
2)) android:includeFontPadding="false"
그래서 제 질문은 같은 탑 라인을 얻는 방법을 거짓 = 기준선. 이에 대한 도움을 주시면 대단히 감사하겠습니다.
시간과 설명에 대해 +1 해보도록하겠습니다. –
그것은 남자에게 감사합니다. 당신이 바로 거기에 소문자와 관련된 문제가 있습니다.하지만 나는 그것을 알아낼 수 있다고 생각합니다. –