2012-07-22 4 views
3

나는 안드로이드에서 작동하는 보편적 인 레이아웃을 성공 시키려고 노력해 왔습니다. 내 이해는 dp에 모든 위젯을 지정하고 한 화면 크기로 보이게 만들면 다른 해상도로 적절하게 확장되어야하지만 내 결과는 다소 나쁘게 보입니다.안드로이드 레이아웃, 화면 크기에 맞게 dp를 지정하십시오.

나는 모든 것을 HVGA로 레이아웃을 사용하여 배치했다. 상대 레이아웃에는 UI 디자이너가 요소 경계를 정의하는 데 사용한 배경이 있습니다. 이 레이아웃에서는 모든 것이 완벽하게 보입니다.

그러면 화면 비율이 약간 다른 큰 화면으로 전환됩니다. 배경은 적절하게 조정되지만 다른 모든 것은 일부 dp로 보입니다. 내 질문은, 모든 요소를 ​​화면으로 올바르게 확장하는 황금기는 무엇입니까? 배경과 관련된 모든 요소의 비율을 유지하려고합니다. Layout where everything looks fine

scaled up layout where background looks fine but the left listview with a 100dp width scales improperly

감사합니다!

편집 : 어떻게하는지 알아 냈습니다. 버튼과 백그라운드가 일치하지 않는 이유는 배경이 dp와 다르게 스케일되고 장치의 dps가 서로 다르기 때문입니다. 솔루션은 수동으로 절대 픽셀로부터 스케일 인자를 계산 한 다음 그 인자로 모든 것을 수동으로 스케일하는 것입니다. 이것을 수행하는 방법에 대한 좋은 참고 자료는 다음과 같습니다. Scale Android for different screens

+0

스크린 샷을 추가하면 도움 말 것입니다. (문제는) – Nate

+0

평판이 충분합니다. 스크린 샷이 업로드되었습니다. : D – hohohmm

+0

내 솔루션을 보여주기 위해 원래 게시물이 업데이트되었습니다. – hohohmm

답변

2

dp는 위젯의 크기가 해상도가 다른 여러 화면에서 일정하게 유지되도록하는 방식으로 자체 조정됩니다. 귀하의 경우에는 목록보기의 크기가 일정하게 유지되지만 배경이 화면 너비까지 늘어납니다. 이것을 피하려면 첫 번째 색상을 첫 번째 목록보기의 배경으로 사용하고 두 번째 목록보기의 경우와 동일하게 사용하십시오.

관련 문제