2012-10-16 4 views
0

해상도가 800 * 480 인 장치가 있습니다. "안녕 단어"응용 프로그램을 만듭니다. 그런 다음 MainActivity onCreate에서 DisplayMetrics를 얻습니다.해상도 문제

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
Log.d("Resolution", "resolution: " + metrics.widthPixels + " x " + metrics.heightPixels); 

533 * 320 픽셀이 있습니다. 왜?

어떻게 해상도 800 * 480 픽셀의 응용 프로그램을 만들 수 있습니까?

답변

2

device independent pixels이 아니기 때문에 그것은 real pixels입니다. 이 dipmdpi 해상도와 같습니다. 실제 화면 크기에도 불구하고 그래서, 당신은 밀도 그것 (mdpi 또는 hdpi 또는 xdpi)이 무엇인지 확인해야하고 -hdpi 접미사 폴더 (예 : drawable-hdpi 또는 layout-hdpi)에 고해상도 자산을 넣어. 일반적으로 dp에 레이아웃을 설정합니다 (일반적으로 활동 당 하나의 레이아웃 XML 파일로 충분하므로 일반적인 res/layout 폴더에 배치해야합니다). 다음

+0

이 ** 밀도 ** 1.0, 내가 레이아웃-hdpi에에 main.xls을 넣어 ... 픽셀 크기와 밀도 관계 this article를 참조 응용 프로그램은 hdpi 장치

에 더 좋은 보이게 안녕하세요 고해상도의 드로어 블을 넣어 , 그러나 그것은 동일합니다. – verybadbug

+0

''1.0''은 기본 밀도로 평균'-mdpi'를 의미합니다. 이것은 당신이 실제로 할 수없는 것을 의미합니다. 참조 : API 13보다 낮은 타겟 인 경우 http://developer.android.com/guide/topics/resources/providing-resources.html을 참조하십시오. API 13이 좋으면 화면 크기 리소스 선택기를 참조하십시오. 그러나 나는 이것을 줄 것이다. 전화가 그것이 hdpi와 함께 사는 mdpi가 아니라고한다면. 다음을 참조하십시오. http://developer.android.com/guide/practices/screens_support.html#testing for pixel-size-vs-density information ... –

+0

ok ... 다른 'layouts'및 'graphics '해상도가 다른 경우 (ldpi, mdpi, hdpi)? 시스템이 내 응용 프로그램의 해상도를 선택하는 방법은 무엇입니까? 왜 hdpi가 아닌가? – verybadbug