2013-06-10 4 views
0

화면 가운데에 6 개의 사각형 단추로 이루어진 간단한 눈금을 만들고 싶습니다. 메뉴처럼 행동하는 것. 문제는 내가 화면 크기로 어떻게 스케일 할 수 있는지 모르겠다. 예를 들어 100dp 스퀘어는 작은 화면에서는 괜찮지 만 큰 화면에서는 빈 공간에 비하면 작아집니다. 그러나 사각형을 더 크게 만드는 것은 화면이 작을 때 반대의 효과가 있습니다.화면 크기와 밀도에 맞게 눈금을 만드는 방법

쉬운 방법이 있나요? 아니면 수학적으로 런타임에 프로그래밍 방식으로 사각형을 만들어야합니다.

코드를 제공 하겠지만 실제로는 사각형의 크기를 하드 코딩하는 기본 XML 파일이 아닙니다.

감사합니다.

답변

0

치수 (특히 정사각형 버튼의 측면이나 버튼 사이의 거리와 같은 dp로 측정 된 치수)는 dimens.xml으로 정의 할 수 있습니다. 차례로 특수 폴더를 만들어 다른 화면 크기에 맞게 정의 할 수 있습니다 /res/values-hdpi, /res/values-xlarge, /res/values-sw720dp 등으로 내부에 dimens.xml 개의 파일이 있습니다. 자세한 내용은 http://developer.android.com/guide/practices/screens_support.html을 참조하십시오. 당신의 XML 레이아웃에서

당신이 할 :

이 /res/values/dimens.xml에서
<ImageView 
    android:id="@+id/button1" 
    android:layout_height="@dimen/button_height" 
    android:layout_width="@dimen/button_width" 
    android:layout_marginBottom="@dimen/distance_between_buttons" 
    android:src="/res/drawable/imgbutton"/> 

<ImageView 
    android:id="@+id/button2" 
    android:layout_height="@dimen/button_height" 
    android:layout_width="@dimen/button_width" 
    android:layout_marginBottom="@dimen/distance_between_buttons" 
    android:src="/res/drawable/imgbutton"/> 

<ImageView 
    android:id="@+id/button3" 
    android:layout_height="@dimen/button_height" 
    android:layout_width="@dimen/button_width" 
    android:src="/res/drawable/imgbutton"/> 

당신이 할 수 있습니다 : /에서

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <dimen name="button_height">100dp</dimen> 
    <dimen name="button_width">100dp</dimen> 
    <dimen name="distance_between_buttons">20dp</dimen> 
</resources> 

는 고해상도/대형 값은 당신이 할 수 있습니다 :

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <dimen name="button_height">200dp</dimen> 
    <dimen name="button_width">200dp</dimen> 
    <dimen name="distance_between_buttons">40dp</dimen> 
</resources> 
+0

dimens.xml은 어떤 내용을 유지합니까? 아마도 빠른 코드 스 니펫을 줄 수 있습니까? –

+0

코드 스 니펫으로 업데이트되었습니다. – Piovezan

+0

그래서 이러한 특수 폴더 중 하나에 있지 않지만이 폴더의 dimen.xml에 레이아웃이있는 경우. 레이아웃을 확장하면 현재 화면 크기에 적용되는 dimen.xml을 읽습니다. 그 맞습니까? –

관련 문제