2013-08-02 3 views
1

어댑터가 부착 된 ListView입니다. 그 뒤에있는 데이터는 몇 가지 기사입니다. 기사에는 제목과 부제가 있으며 길이는 다양합니다. 때때로 어느 쪽의 텍스트가 너무 길어서 TextView이 고정 된 높이를 가진 어댑터에 의해 생성 된보기에 맞지 않습니다. 보기 내에서 TextViews이 모두 보이는지 확인할 수 있습니까? 내가 함께 할 것입니다, 나는 레이아웃이 그려 질 때까지 기다려야 할 것입니다 알고 getViewTreeObserver().addOnGlobalLayoutListener(...)TextView가 완전히 보이는지 확인하십시오.

enter image description here

답변

2

그것은 당신처럼 보인다 수있는 제목과 자막 당 완전히 적합 두 줄. 내가 너라면, 필자는 텍스트를 그리는 데 사용되는 페인트로 텍스트의 길이를 측정하고 줄의 너비 (줄의 수)보다 작은 지 확인합니다.

예를 들어, 다음과 같은 사항을 고려하십시오

TITLE_LINE_WIDTH 픽셀의 텍스트에 사용할 수있는 폭이와 TITLE_NUM_ROWS (패딩/마진 등 회계)이다
boolean doesTitleFitBounds = titleTextView.getPaint().measureText(titleText) < (TITLE_LINE_WIDTH * TITLE_NUM_ROWS); 

는 제목 당이 행의 수입니다. 마찬가지로 자막이 자신의 경계에 맞는 지 확인하기 위해 자막을 확인할 수 있습니다.

+0

좋은 생각, 고마워! – FWeigl

관련 문제