Android 에서 텍스트 높이 를 가 져 오 는 세 가지 방법

2588 단어 android문자.높이.
머리말
본 고 는 문자 의 높이 를 정리 하고 정리 하 는 데 참고 자 료 는 statcoverflow 에서 나 온 대답 이다.구체 적 으로 아래 의 참고 링크 를 참조 하 시 오
텍스트 높이 를 가 져 오 는 세 가지 방법
  • paint.getTextBounds(String text, int start, int end, Rect bounds)
  • paint.getFontMetrics()
  • StaticLayout
  • 1 paint.getTextBounds(String text, int start, int end, Rect bounds)
    매개 변수 해석
    text:측 정 된 문자start:측 정 된 문자 의 시작 위치
  • end:측정 되 는 문자 의 종료 위치,최대 문자 의 길이
  • rounds:측 정 된 문자기능 설명
    만약 우리 가 string 의 정확 한 높이 를 얻 고 싶다 면,우 리 는 paint.getTextBounds()방법 을 통 해 실현 할 수 있다.
    정확 한 높이 는 무엇 을 말 합 니까?예 를 들 어 아래 의 Happy new year 라 는 몇 개의 글 에서 세 단어의 높이 는 다르다.
    높이 는 맨 위의 픽 셀 에서 맨 아래 픽 셀 의 높이 를 빼 는 것 과 같다.

    그래서 세 사람의 높이 는 다르다.어떻게 이 세 개의 높이 를 얻 습 니까?paint.getTextBounds()방법 을 통 해
    
     String temp = "Happy"; //      
     Rect rect = new Rect();
     Paint paint = new Paint();
     paint.getTextBounds(temp, 0, temp.length(), rect);
     int height = rect.height();
    
    얻 은 height 는 우리 목표 문자 의 최종 높이 입 니 다.
    하지만 주의해 야 할 것 은 위 에 있 는 Happy,new,year 라 는 세 단어의 높이 가 다르다 는 점 이다.
    만약 우리 가 위의 세 단 어 를 같은 높이 로 처리 하고 싶다 면 어떻게 해 야 합 니까?
    2 paint.getFontMetrics()
    기능 설명
    paint.getFontMetrics()는 텍스트 의 글꼴 높이 를 가 져 오 는 데 도움 을 줍 니 다.여기 서 말 하 는 것 은 글꼴 입 니 다.이 방법 을 사용 하면 텍스트 의 높이 가 같 습 니 다.
    여기,fm 의 몇 가지 속성 은 주의해 야 합 니 다.우 리 는 먼저 아래 의 이 그림 을 보 겠 습 니 다.그림 의 line 1 line 2 line 3 에 주의 하 세 요.

    그 중에서 line 1 은 상승 을 나타 낸다.line 2 는 baseline 을 나타 낸다.line 3 은 Decent 를 나타 낸다.아래 캡 처 는 내 가 demo 에서 얻 은 텍스트 의 높이 입 니 다.

    Ascent 의 값 과 Decent 의 값 은 모두 baseLine 에 비해 서 입 니 다.baseLine 에서 출발 하여 위로 마이너스,아래로 플러스 입 니 다.
    demo 코드 는 다음 과 같 습 니 다.
    
     Paint paint = new Paint();
     Paint.FontMetrics fm = paint.getFontMetrics();
     float height1 = fm.descent - fm.ascent;
     float height2 = fm.bottom - fm.top + fm.leading;
    
    그 중에서 height 1 은 문자 의 높이 를 나타 내 고 height 2 는 줄 의 높이 를 나타 낸다.이 둘 의 차 이 를 주의해 라.fm.leading 은 줄 간격 을 표시 합 니 다.
    총결산
    여기에 안 드 로 이 드 가 문자 높이 를 얻 는 세 가지 방법 에 관 한 글 이 소개 되 었 습 니 다.더 많은 안 드 로 이 드 가 문자 높이 를 얻 는 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
    참고 자료:stackoverflow.com/questions/3..

    좋은 웹페이지 즐겨찾기