2016-10-10 2 views
0

너비가 제한되거나 높이가있는 문자열의 묶는 경계의 너비와 높이가 필요합니다. 두 가지 방법을 찾았지만 정확히 내가 원하는 것을 찾지 못했습니다. 나는 제한을 설정할 수 있습니다Android에서 텍스트 경계를 둘러싸고 있습니까?

Paint.measureText().getTextBounds()

방법, 즉 나는의 결합 폭이 300 픽셀보다 큰 수 싶지 않아?

iOS NSStringboundingRect 방법은 sizeToFit입니다.

+0

페인트를 사용할 때 텍스트를 직접 페인트합니다. 그래서 문자로 문자로 문자를 칠할 수 있습니다. 문자의 측정 된 텍스트 + 다음 문자가 300px를 초과하면 그 문자를 페인트하거나 선을 전환하지 마십시오. – toshkinl

+0

"\ n"문자를 넣어야합니까? –

+1

아니, 당신은 '필요 \ n "문자를 넣어": android.text.Layout' 클래스에 대해 읽으십시오 – pskink

답변

0

나는 무엇을 Paint.measureText하고 있는지 완전히 이해하지 못한다고 생각합니다.
이 메서드는 Paint inner params를 사용하여 텍스트의 너비를 으로 계산합니다. 텍스트를 줄이려면, 예를 들어 줄임표 텍스트 this thread

이 아니면 그렇지 않으면 Paint.getTextBounds이 메서드는 채울 Rect 개체에 필요합니다. 그러나 여기에는 제한이 없습니다.

+0

'줄임표'는 텍스트를 자릅니다. 텍스트, 글꼴 및 글꼴 크기를 알고있는 경우 고정 너비에 필요한 높이를 계산해야합니다. Android에서 어떻게하는지 알고 있습니까? –

0

발견 된 답변은 here입니다. 높이 f 너비를 계산하려면 View.MeasureSpec이 필요합니다.

+0

'View.MeasureSpec'과'Paint # measureText'는 무엇을해야합니까 ??? – pskink

+0

@pskink 아무 것도 아니지만 너비가 제한되어 있으면'View.MeasureSpec'에서 필요한 높이를 계산할 수 있습니다. –

+0

그러면 문제는 일반적인 [XY 문제] (http://xyproblem.info/)이므로 실제로 달성하기를 원하십니까? – pskink

관련 문제