2010-08-03 4 views
3

HTC Tattoo와 Sony Ericsson Xperia X10의 두 가지 장치가 있습니다. 하나는 145 DPI, 다른 하나는 245 DPI입니다.Android에서 포인트의 실제 크기 글꼴

나는이 같은 점에서 텍스트 뷰에 대한 글꼴 크기를 지정합니다

textView.setTextSize(TypedValue.COMPLEX_UNIT_PT, 6.5f); 

나는이 두 장치에서 텍스트의 서로 다른 물리적 크기를 얻을. 245 DPI에서이 텍스트는 거의 읽을 수 없습니다.

이제 "pt"크기가 실제 크기라고 가정합니다. 즉, 내 테스트에서 두 텍스트 블록 모두 동일한 물리적 높이의 문자를 가져야합니다. 그렇지 않습니다.

무엇이 잘못 될 수 있습니까?

도움에 감사, 유리.

+0

포인트 사이징에 대한 내 블로그 게시물을 참조하십시오 http://systemdotrun.blogspot.co.uk/2014/09/whats-point-in-font-sizing.html ?. 이 답변과 아래의 답변을 모두 알고 있어야합니다! http://stackoverflow.com/a/3414215/236743 – Dori

답변

5

사실, 항상 작동 지적한다.

가 볼 수있는 바와 같이
NAME  OS metrics.ydpi REAL_DPI DDPI SD 
XPERIA 1.6 159.49677  325  240 1.5 
Liquid 1.6 263.8958  285  240 1.5 
Tattoo 1.6 145.14067  match  120 0.75 
Hero  1.5 179.29352  match  -  1.0 
Galaxy 1.6 160.41878  180  160 1.0 

만 HTC 문신과 HTC 영웅은 안드로이드 API에 대한 적절한 디스플레이 정보를 줄 :

예를 들어, 나는 다섯 개 장치를 테스트했다.

이것은 포인트가 다른 기기에서 다른 물리적 크기를 갖는 이유입니다 (전부는 아니지만).

글꼴/이미지를 대략적으로 측정하는 유일한 방법은 160 DPI라고 가정하고 DisplayMetrics # scaledDensity를 사용하는 것입니다.이 방법은 잘못되었지만 다른 방법은 없습니다.

+0

다른 방법으로는 가장 인기있는 장치 데이터베이스를 사용하는 것이 좋습니다. – southerton

+0

6 년 후 이것이 더 잘 작동하는지 아는 사람 있습니까? – user3175580

6

pt 단위는 점으로 밀도에 따라 조정되지 않습니다. 텍스트가 아닌 경우 밀도가 독립적 인 픽셀 인 dip (또는 dp)을 원합니다. 이것들은 밀도에 따라 확장됩니다. 텍스트의 경우 농도에 따라 조정되지만 사용자가 선호하는 글꼴 크기에 따라 조정되는 sp도 필요합니다.

여기에 약간의 정보가 있으며, 안드로이드 문서의 다른 곳에도 흩어져 있습니다.

http://developer.android.com/guide/practices/screens_support.html#screen-independence

UPDATE : 여기에 유리 바르게 지적으로 pt 항상 실제 화면에 1/72 인치해야한다고 제안하지 치수 단위의 각각의 설명입니다. 그런 식으로 작동하지 않는 것 같습니다. 대답은 단지 dpsp을 사용하는 것입니다. 사용자에게 포인트를 표시하려면 수학을 수행하십시오 (dp은 160dpi 화면에서 1px로 가정 할 수 있음). , 즉 1/160 인치). 기본 장치가 올바른 디스플레이 측정을 제공 할 때마다

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

+0

문서에 따르면 "포인트 - 화면의 물리적 크기에 따라 1/72 인치" 상관없이 어떤 밀도. 아무리해도. 밀리미터처럼 모든 디스플레이에서 항상 1 밀리미터입니다. 얼마나 많은 픽셀이 걸릴지라도 1/72 인치는 1/72 인치입니다. 내 선택에 대해 설명하겠습니다. 점은 많은 응용 프로그램의 표준 글꼴 단위입니다.사용자는 새로운 측정 단위를 기반으로 글꼴 크기를 지정하고 싶지 않습니다. 포인트는 표준적이고 평범합니다. PC 브라우저, Microsoft Word, 메모장 및 Mac 응용 프로그램에서. –

+0

예, pt는 항상 동일한 물리적 크기 여야합니다. 오해의 소지가 있습니다. 그러나 dp와 sp는 권장 단위 인 것 같습니다. 1dp는 160dpi 화면에서 1px (즉 1/160 인치)이므로 사용자와 동일한 점수를 표시하려면 간단한 수학 변환이 필요합니다. – Nick