안드로이드 개발 질문/답변
(글 수 45,052)
저번에도 올렸던 질문인데요.
제가 안드로이드에 지식이 없다보니 질문이 정확하지 못했던듯 합니다.
지금 안드로이드용 두번째 게임을 개발하고 있는데요.
이미지는 480x320짜리를 사용하고 있습니다.
안드로이드에서 앱을 만들때 픽셀 좌표를 사용하지 않는게 좋다는건 알고 있지만
윈도우 개발에 익숙하다보니 픽셀 좌표를 어쩔 수 없이 쓰고 있습니다.
일단 HVGA(480x320)에서는 당연히 아무 문제가 없습니다.
그런데 이걸 800x480 같은 고해상도에서 구동하면 문제가 생깁니다.
이미지는 480x320인데도 800x480에서 실행했을때 가로 해상도는 480->800으로
자동으로 늘려집니다만, 세로 해상도는 320->480으로 늘려지지 않더란 겁니다.
이미지가 좀 길쭉하게 늘어나더라도 화면에 꽉차게끔 맞추는 방법이 없을까요?
첨부한 스크린샷을 좀 보시고 해결책을 알려주시면 감사하겠습니다.
이미지는 480x320인데도 800x480에서 실행했을때 가로 해상도는 480->800으로
자동으로 늘려집니다만, 세로 해상도는 320->480으로 늘려지지 않더란 겁니다.
이미지가 좀 길쭉하게 늘어나더라도 화면에 꽉차게끔 맞추는 방법이 없을까요?
첨부한 스크린샷을 좀 보시고 해결책을 알려주시면 감사하겠습니다.
2011.01.23 20:12:36
저는 배경화면 처리할때 이렇게 하고 있습니다..
img_Bg = Bitmap.createScaledBitmap(img_Bg, width, height, false); // 이미지 재설정
img_Bg = Bitmap.createScaledBitmap(img_Bg, width, height, false); // 이미지 재설정
2011.01.23 20:40:37
베라뷰님...배경 화면만 화면에 꽉 차게 하는건 됩니다만....캐릭터 위치라든가 적의 위치라든가 그런건 어찌할수가 없는거라서요.....그래서 전체적으로 늘리고 싶은 겁니다.....아고 골 아프네요 ㅎㅎ
2011.01.23 22:00:55
그게 dip를 픽셀 대신 이용하는 방법을 모르겠습니다. 이미지란게 픽셀로 사이즈가 정해져 있는건데 dip라는 개념으로 접근하려니 개념부터가 정립이 되질 않더라고요. 일단 완성하는데 목적을 두다보니 윈도우와 같은 픽셀을 사용하게 된 거랍니다.
2011.02.14 08:47:48
픽셀 좌표를 dip로 바꿔서 하는건 어떤가요? 픽셀값 공식을 역으로 dip 값 구하게 하면 해상도 상관없이 사용할수 있는데
저는 이런 방법으로 해상도 문제를 해결했습니다~
2011.02.14 09:28:59
dp 값을 이용하세요. 그리고 이미지를 늘리거나 줄여서 사용하는 것보다는 해상도별 이미지를 폴더별로 정리를 하시면 해상도에 따라 알아서 해당 이미지를 가져와 사용하게 됩니다. 그리고 픽셀하고 디피하곤 그냥 1:1이라고 생각하시고 px를 dp로 다 바꿔보세요 별 차이 없을겁니다. px값은 절대값이라 해상도에 따라 xml도 따로 만들어야하고 여러가지로 불편해요. drawable- mdpi, drawable-hdpi 등등 안드로이드에서 자동으로 인식하는 폴더가 있습니다. 어짜피 폴더이름 틀리면 컴파일도 안되게 되어있어서 전혀 어렵지도 않아요.




아 거꾸로 됐네요 세로 해상도만 320->480으로 잘 늘려지고 가로 해상도는 480->800으로 늘려지는게 아니라 조금 모자라게 늘려집니다. 지금 만드는게 landscape 가로 모드 전용이거든요. 아마도 HVGA와 WVGA의 화면 비율이 달라서 그런거 같은데요. 화면 비율을 강제로 조절해서 이미지를 꽉 차게 맞추는 방법이라든가 그런게 없는지 알고 싶은 겁니다. 부탁드립니다.