2013-07-16 5 views
0

이미지와 텍스트가 포함될 "페이지"(대부분 ViewPager를 사용할 가능성)를 만들어야합니다.텍스트 공간이 필요한 공간을 계산하십시오.

예를 들어 처음에는 이미지가 있고 이미지 다운로드는 이미지 크기가됩니다. 레이아웃의 이미지가 X 공간 왼쪽에 표시되어 Y 길이 텍스트를 표시 할 수 있습니다. 그런 다음 다음 페이지에 대한 나머지 문자열을 표시 할 새 문자열로 나눕니다. TextSize는 dp 단위입니다.

나는 avarage letter가 얼마나 많은 픽셀을 얻었는지 알았고 한 페이지에 대략 몇 줄을 표시 할 수 있는지 계산했다.

이러한 계산을 수행하는 가장 좋은 방법은 무엇입니까?

그리고

내가 편지 계산

final float densityMult = ctx.getResources().getDisplayMetrics().density; 
    final float scaledPx = 20 * densityMult; //i guess its same as 20dp 
    paint.setTextSize(scaledPx); 
    final float size = paint.measureText("a"); 

3.7 480X800에 한 스타터 "화면이 반환을 값 16.0과 540x960 4.0의"17.0 이 값 픽셀인가?

답변

1

나는 당신이 당신의 텍스트를 측정 할 이유를 정말 이해하지만, 당신이이 같은하지 않았다 :

paint.measureText("a"); 

어떤 문자열뿐 아니라 문자를 측정 할 수 있습니다. 수동으로 텍스트를 분할하려면 (필자는 권장하지 않음) 텍스트의 크기가 사용 가능한 너비보다 큰지 여부를 확인할 수 있습니다.

그리고 네, measureText 내가 아주 좋은 방법 BREAKTEXT을 발견 더 많은 정보를 수집 .. px

+0

그래의 측정을 반환() http://developer.android.com/reference/android/graphics/Paint.html# breakText % 28java.lang.CharSequence, % 20int, % 20int, % 20boolean, % 20float, % 20float % 5B % 5D % 29, 이제 유일한 문제는 maxWidth 매개 변수를 가져 오는 것 같습니다. –

관련 문제