아마도 적절한 키워드를 입력하지 않았지만 답변을 찾을 수 없습니다. 특정 문자열로 설정 한 경우 TextView의 크기를 알 수 싶습니다. 그러나, 모든 것이 활동에 배치되기 전에 나는 알고 싶다.TextView가 특정 문자열로 어떤 크기인지 알고있는 방법
내 TextView의 너비와 높이는 고정되어 있습니다. 나는 다음과 같은 높이를 얻을 수 있습니다 :
myTextView.setText(myString);
// ... UI gets laid out ...
myTextView.getHeight()
높이가 특정 지점을 지나면 TextView의 너비를 변경하고 싶습니다. (하지만 그 전에는 아닙니다.) 그리고 UI가 배치 될 때까지 기다리는 것이 아니라 myString이 있으면 높이를 알고 싶습니다. 그리고 필요하다면 너비를 변경합니다.
나는 Layout 클래스를 보았지만 어떻게해야 할지를 알 수 없었다. TextView의 onMeasure를 재정의하는 것과 관련이 있을지 궁금하지만 실제로 시도하는 방법을 모르겠습니다. 어떤 도움을 주셔서 감사합니다. 모두 @의 user3249477에 자신의 답변을 0xDEADC0DE @
업데이트
감사합니다. 지금은 해결책으로 @ user3249477의 답변을 표시하고 있습니다. (보기의 크기를 여러 번 조정해야하기 때문에 반복적으로 가시성을 켜고 끌 수는 없지만) 필요한 키워드를 제공하기 위해 @ 0xDEADC0DE를 +1합니다. 추가로이 문제를 조사하십시오.
더 많은 연구와 테스트가 필요합니다.
OnLayoutChangeListener :
- View.OnLayoutChangeListener
- Capture Layout resize before API 11
- After changing a property on a LayoutParams object, do I need to call setLayoutParams again?
의 measureText() 및 getTextBounds() :
여기에 내가 도움이 지금까지 발견 한 몇 가지 링크가 있습니다- Android Paint: .measureText() vs .getTextBounds()
- Paint.getTextBounds() returns to big height
- 부모 뷰의 Gettextbounds in android
재정 onSizeChanged또한 흥미로운 같습니다 https://stackoverflow.com/a/14399163/3681880
이제이 문제에 접근하기 위해'StaticLayout'을 사용합니다. [이 답변] (http://stackoverflow.com/a/41779935/3681880)을 참조하십시오. – Suragch