2011-12-27 2 views
0

Canvas/Paint 클래스를 사용하여 Galaxy Nexus에 대한이 작은 게임을 코딩하고 있습니다. 나는 또한 물건을 그릴 위치의 좌표 값을 하드 코딩하고있다.Android에서 여러 해상도로 작성 하시겠습니까?

500, 760에 표시 할 이미지를 말하면 내 장치에 해당 이미지가 올바르게 표시되며 더 작은 해상도의 장치에서 결과가 동일하지 않다고 가정하면 어떻게됩니까?

모든 해상도에서 똑같이 보이게하려면 어떻게해야합니까?

답변

0

밀도 독립 픽셀을 사용하여 드로어 블을 정의해야합니다. dp 이미지의 경우 밀도 특정 리소스를 사용하여 적절한 리소스 폴더에 넣습니다.

+0

O 확인 그래서이 –

+0

공용 static INT DP (INT 값) { \t \t 창 (INT) (* 값이 PIXEL_DENSITY가 + 0.5F)를 발견; } 0.5F가 무엇인지 확실하지 않습니다. 어쨌든 이것은 약간 일하지만 다소 일합니다. 예를 들어 내가 내 장치의 크기 (갤럭시 넥서스의 @ 720p의)의 말에 뭔가를 생성하는 경우는이 \t 공공 부울 onTouch (보기보기, MotionEvent 이벤트) { \t \t lastPoint = 새로운 포인트()와 같은; \t \t lastPoint.x = (int) (float) (event.getX()/PIXEL_DENSITY); \t \t lastPoint.y = (int) (float) (event.getY()/PIXEL_DENSITY); \t \t return true; \t} –

0

좌표를 픽셀로 하드 코딩하면 안됩니다. 당신은 사용하여 다음을 수행 할 수 있습니다

getApplicationContext().getDisplayMetrics.density; // 당신은 픽셀의 좌표를 곱하면 높은 얻을 DP로 실제로 같은 (높은 밀도의 화면에 대한 좌표 값을합니다 1.00 또는 0.75 등

같은 값).

은`

관련 문제