2012-09-20 3 views
0

캔버스와 SurfaceView를 사용하고 있습니다. 다양한 오브젝트와 폰트의 좌표를 명시 적으로 화면에 표시했습니다. 이 응용 프로그램은 삼성 갤럭시 S Advance에서 완벽하게 실행되지만 삼성 Galaxy Fit 또는 Pop과 같은 작은 화면에서는 해당 물체가 범위를 벗어납니다. 어떻게하면 모든 화면 크기와 픽셀 밀도에 호환되게 할 수 있습니까? xml 레이아웃을 사용하지 않고 있으므로 dpis를 사용하는 것이 문제가되지 않습니다.안드로이드에서 다양한 화면 크기 프로그래밍

미리 감사드립니다.

+0

여러 화면 지원 : http://developer.android.com/guide/practices/screens_support.html –

답변

0

런타임에 화면 해상도를 얻고 그에 따라 픽셀을 설정해야한다고 생각합니다.

+0

화면 크기 때문일 경우에는 에뮬레이터의 디스플레이와 실제 화면의 차이가 있어야합니다 S 진보 된 핸드폰, 맞지? 그러나 개체는 완벽하게 두 가지 모두에 배치됩니다! – Crashh

0

개발자 가이드 라인에 따르면 그렇게하는 것이 좋습니다 (명시 적 좌표로 작업). 더 나은 방법에 대해서는 안드로이드 디자인 지침을 참조하십시오. 이를 피할 수 없다면 화면 크기와 밀도를 고려하여 그에 따라 좌표를 계산해야합니다.

+0

나는 그 일을 시도했다. 밀도 인수를 가져 와서 좌표에 곱하십시오. df = this.getResources(). getDisplayMetrics(). 밀도; 그러나 이것은 화면의 왼쪽 상단에 모든 것을 넣습니다! – Crashh

관련 문제