2011-03-31 5 views
0

버튼과 툴바의 크기를 지정할 때 XML 레이아웃 파일의 "장치 독립적 픽셀"(dip) 기능을 사용했습니다. 딥 (dips)을 사용하여 GUI 구성 요소의 실제 크기를 지정할 수 있습니다. 이는 모든 화면 크기에서 구성 요소를 항상 읽을 수 있고 클릭 할 수있게하는 데 유용합니다. 예를 들어, 내 응용 프로그램은 상단에 약 50dip 높이에있는 여러 개의 40dipx40dip 단추가있는 가로 도구 모음이 있습니다.큰 화면의 버튼을 확대하는 레이아웃?

그러나 작은 화면에서 보거나 클릭하기에 충분히 큰 물리적 크기의 버튼은 태블릿에서는 거의 사용할 수 없습니다. 예를 들어, 내 도구 모음에는 거대한 양의 공백이 포함되고 버튼은 보이지 않으며 (태블릿을 얼굴에서 멀리 떨어지게하는 경향이 있으므로) 실제로 버튼을 클릭하기가 어렵습니다. 화면)

이 문제를 해결할 수있는 해결 방법이 있습니까?

"layout_weight"를 사용하여 구성 요소를 늘릴 수 있으므로 화면의 몇 퍼센트를 사용할 수 있는지 지정할 수 있지만 버튼이 많으면 단추가 너무 복잡 할 수 있습니다 (또한 제 단추는 정사각형이어야합니다). 대부분 수동으로해야합니다. 각 장치마다 다른 레이아웃 파일을 사용할 수는 있지만 이것은 힘든 일입니다.

답변

1

이 문제를 해결할 수있는 해결 방법에 독립적 인 방법이 있습니까?

치수 및 드로어 블 리소스를 사용하십시오.

버튼이 "40dipx40dip"인 방법을 지정하지 않았습니다.

레이아웃이나 스타일에 40dip 대신 특정 높이와 너비로 설정하면 @dimen/toolbar_btn을 사용하십시오. 그런 다음 res/values/dimens.xml에서 40dip이고, res/values-large/dimens.xml (또는 아마도 res/values-large-land/dimens.xml)은 60dip 또는 기타 무엇이든지 작동하도록 정의하십시오.

이미지 때문에 버튼이 "40dipx40dip"인 경우 태블릿에 대해 더 큰 이미지를 만들고이를 리소스 디렉토리에 넣는 것만으로도 가능합니다 (예 : res/drawable-large-mdpi/ 리소스 디렉토리).

+0

레이아웃 파일에 40dip 크기를 설정하고 있습니다. 예 : " rbcc

+0

@rebeccamaher : "그렇지 않으면 각 화면 크기마다 수동으로 모든 크기를 조정해야합니다."- 예. 화면 크기가 4 개 밖에 없다는 것을 고려하면 이는 극복 할 수없는 작업 인 것처럼 보입니다. "드로어 블 폴더에 이미지 파일을 만들 픽셀 수를 알 수있는 방법"- 40을 50 % 더 크게하기 때문에 40dip에 사용하는 것보다 50 % 더 크게 만듭니다. – CommonsWare

+0

무슨 뜻입니까? 내가 이미지가 40x40dpi로 표시되어야하고 안드로이드가 적절한 폴더에서 이미지 파일을 가져 오는 경우, 파일이 얼마나 많은 픽셀이 있어야 위/아래 스케일링이 발생하지 않을 것이라고 가정할까요? dpi, 픽셀 및 dpi 폴더 간의 관계에 대해 혼란스러워합니다. – rbcc

관련 문제