2012-11-09 11 views
2

안드로이드를 사용하는 동시에 작업하고 학습하면서 레이아웃 전환 기능에서 이상한/예기치 않은/잘 설명되지 않은 동작을 발견했습니다. 아직 답변을 찾지 못했습니다.안드로이드 레이아웃 한정자 사용

첫 번째로 설명서에서 알 수 있듯이 layout-w320dplayout-h320p과 같이 너비와 높이에 대한 한정자는 240, 320, 480, 600 등의 표준 값을 사용해야합니다. documentation에서도 효과적으로 사용 가능한 공간을 고려한다고 언급했지만 높이에 어떤 영향을 미치는지에 대해서는 언급하지 않습니다. 예를 들어 320dp 대형 에뮬레이터 화면에서 getResources().getConfiguration().screenHeightDp을 호출하면 사용 가능한 높이는 295입니다. 따라서 layout-h320p을 사용하면 320dp 화면에서 제대로 활성화되지 않으므로 정확하지 않습니다.

작은 화면에 적응하는 데있어 우려되는 점은 충분한 너비가없는 것과 높이가 충분하지 않은 것의 두 가지 시나리오를 처리 할 수있는 능력이 있어야한다는 것입니다. 내가 뭘 찾았는지 내 상황에 맞는 레이아웃을 선택하도록 에뮬레이터를 강요 할 수 없다는 것입니다. layout-w320p 폴더와 layout-h240p 폴더가 있습니다. 사용 가능한 높이가 320p이고 사용 가능한 너비가 480p 인 에뮬레이터에서 실행하는 경우 layout-w320p이로드됩니다. 그러한 두 가지 사례를 어떻게 균등하게 대우 할 수 있습니까? 너비와 높이 한정자를 모두 지정할 수는 없습니다.

셋째, 2.2까지 앱을 지원하려면 "클래식"한정자 (소, 중, 대형, x 대형)를 제외하고는 다른 화면을 지원할 수있는 방법이 있습니까?

편집 : 지원하려는 최소 버전이 2.2이므로 중소/대형/xlarge 한정자 패턴을 사용했습니다. 또한 portland 한정자를 사용하며 레이아웃에서 Android의 의사 결정이 훨씬 더 명확하지만 앞서 언급 한 문제가 남아 있습니다.

답변

0

두 개 이상의 한정자를 결합하지 않았을 수 있습니다. 예를 들어 레이아웃 -w320p-h240p를 작성하여 레이아웃을 만들 수 있습니다. 320x240