2011-09-25 4 views
0

내 안드로이드 응용 프로그램을 확장하려면 기본적으로 AbsoluteLayout을 사용하여 800x480 디스플레이 용으로 개발했습니다. 이것은 내 신청서에 필요하며 변경할 수 없습니다.Android : 규모 고정 레이아웃 아래로

이제 문제 : 에뮬레이터에서 내 앱을 시작하면 버튼이 사라지고 이미지가 너무 커집니다. 안드로이드는 기본적으로 고정 된 크기로 애플리케이션을 확장 할 수 있다고 생각했지만 작동하지 않습니다. 이미 매니페스트를 조작하려고 시도했지만 작동하지 않았습니다.

그래픽을 위해 ImageView 구성 요소를 사용합니다. 타겟팅 안드로이드 2.1

건배 펠릭스

+0

변경할 수 있으므로 변경해야합니다. AbsoluteLayout을 사용해야한다고 생각한다면 다른 레이아웃 유형을 충분히 연구하지 않았을 가능성이 매우 높습니다. –

+0

디자인은 디자이너에 의해 주어지며 순수한 그래픽 레이아웃으로 각 버튼은 이미지입니다. –

+0

--- 전에 코멘트를 편집 할 수 없습니다 --- 디자인은 실제로 800x480보다는 다른 크기를위한 유연한 beeing을 위해 제작되지 않은 디자이너에 의해 이루어집니다, 그것의 순수한 그래픽 레이아웃, 각 버튼은 이미지이고 저는 각 활동에 대한 배경 지식이 있어야합니다. 어쨌든 RelativeLayout과 같은 다른 레이아웃은 내 앱에 동일한 문제를 가져오고 버튼 (ImageView)은 앱에 맞게 축소되지 않습니다. –

답변

1

확실히 AbsoluteLayout을 사용하는 것이 적합하지 않습니다. 그러나 만약 당신이 그것을 끝까지 밀기를 원한다면, 모든 좌표와 크기의 단위를 px (픽셀)에서 dp (밀도 독립 픽셀)로 바꿔야합니다. 레이아웃을 목표로하는 밀도 (hdpi)에서 1 dp = 1.5px이므로 기존 좌표를 모두 2/3의 비율로 확장해야합니다.

모든 이미지 및 레이아웃의 크기를 명시 적으로 지정해야합니다. 예를 들어 너비가 30px, 높이가 120px 인 버튼을 사용하면 너비가 20dp, 높이가 80dp가됩니다.

물론 작은 (mdpi) 화면에서는 2/3 크기로 크기가 조정되므로 이미지가 잘 보이지 않습니다. 또한 일부 장치는 가로 모드로 고정되어 있으므로 레이아웃 문제가 발생할 수 있습니다. 따라서 귀엽지는 않지만 요구 사항에 따라 결승점을 넘을 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 나는 이제 모든 유닛을 dp와 이미지로 가지고있다. 이미지가 올바른 크기로 보이지만 한 단계 앞으로 나오지만 이미지 (버튼)는 여전히 잘못된 위치에 있습니다. 안드로이드가 원래 좌표보다 두 배 큰 좌표로 이미지를 이동하고있는 것으로 보입니다. 레이아웃 크기는 여전히 "fill_parent"입니다. 왜냐하면 내가 절대적인 dp로 설정하려고했을 때 디스플레이에 맞게 크기가 커지기 때문입니다. –

+0

적어도 내가 원래 크기의 2/3 크기로 레이아웃을 조정해야한다는 것을 알았지 만, 레이아웃은 여전히 ​​약간 크고 에뮬레이터 이미지와 일치하지 않습니다. –

+0

그래서 위치 좌표를 원래 좌표의 2/3로 줄였습니다. 맞습니까? 그래서 x = 60px, y = 18px에 뭔가가 있다면 x = 40dp와 y = 12dp가 될 것입니다. 맞습니까? – pents90