Canvas/Paint 클래스를 사용하여 Galaxy Nexus에 대한이 작은 게임을 코딩하고 있습니다. 나는 또한 물건을 그릴 위치의 좌표 값을 하드 코딩하고있다.Android에서 여러 해상도로 작성 하시겠습니까?
500, 760에 표시 할 이미지를 말하면 내 장치에 해당 이미지가 올바르게 표시되며 더 작은 해상도의 장치에서 결과가 동일하지 않다고 가정하면 어떻게됩니까?
모든 해상도에서 똑같이 보이게하려면 어떻게해야합니까?
Canvas/Paint 클래스를 사용하여 Galaxy Nexus에 대한이 작은 게임을 코딩하고 있습니다. 나는 또한 물건을 그릴 위치의 좌표 값을 하드 코딩하고있다.Android에서 여러 해상도로 작성 하시겠습니까?
500, 760에 표시 할 이미지를 말하면 내 장치에 해당 이미지가 올바르게 표시되며 더 작은 해상도의 장치에서 결과가 동일하지 않다고 가정하면 어떻게됩니까?
모든 해상도에서 똑같이 보이게하려면 어떻게해야합니까?
밀도 독립 픽셀을 사용하여 드로어 블을 정의해야합니다. dp 이미지의 경우 밀도 특정 리소스를 사용하여 적절한 리소스 폴더에 넣습니다.
좌표를 픽셀로 하드 코딩하면 안됩니다. 당신은 사용하여 다음을 수행 할 수 있습니다
getApplicationContext().getDisplayMetrics.density;
// 당신은 픽셀의 좌표를 곱하면 높은 얻을 DP로 실제로 같은 (높은 밀도의 화면에 대한 좌표 값을합니다 1.00 또는 0.75 등
같은 값).
은`
O 확인 그래서이 –
공용 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} –