2017-03-23 2 views
1

나는이 질문을 매우 쉽게 이해할 수 있기 때문에 나 자신이 알아낼 수 없으며 그 이상의 시간 동안봤을 때 적절한 결과를 얻지 못합니다. 그래서 질문은 : 내 그림이 정말로 큰 경우 (그리드 레이 아웃과 비교할 때) 내 아이템 (일반적으로 16 개의 이미지 버튼)을 만들 수 있도록 어떻게 만들 수 있습니까? (짧은 방법으로 : 16xImage를 buttonImages, 각 이미지는 640x640이고 그리드 레이아웃의 16 개 버튼을 그리드 레이아웃의 너비/높이 및 열/행 수와 비교하여 크기를 조정하고 싶습니다.) 내 Java 코드를 리팩터링하고 싶지 않기 때문에 XML로 작성할 수 있기를 바랍니다 :/ImageButton은 gridlayout에서 자동으로 크기가 조절됩니다.

Ps. 나는 Ps2.Here 버튼 예 내 GridLayout과입니다

programmig 초보자가 안드로이드 해요,하지만 completly 잘못 :/

<GridLayout 
    android:id="@+id/GridLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:columnCount="4" 
    android:rowCount="4" 
    tools:context=".GridXMLActivity" 
    android:layout_below="@+id/Tx1" 
    android:layout_above="@+id/restart" 
    android:layout_marginBottom="50sp" 
    android:layout_marginTop="50sp" 
    > 


    <ImageButton 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@android:color/transparent" 
     android:src="@drawable/clear" 
     android:id="@+id/But1" 
     android:scaleType="fitXY" 
     android:onClick="but1" 

     /> 

[편집] 심지어 같은 레이아웃을 만들었지 만, 몇 가지가 있습니다했습니다 문제. 첫째, 내 눈금 레이아웃이 전혀 확장되지 않는다는 것입니다. (따라서 화면 해상도를 낮추거나 높이면 화면이 잘 맞지 않습니다.) 그 이유는이 버튼을 일종의 크기 조정 가능하게 만들고 싶었던 이유입니다.이 화면에서는 각 버튼의 폭과 높이가 60sp입니다. 또 다른 문제는 버튼 배경에서 작업하고 있다는 것입니다. src. Genereally 나는 같은 것을 화면에 표시하고 싶지만 다른 /보다 유연한 방법으로 만듭니다. (그래서 해상도와 방향은 내 gui와 요소의 크기에는 영향을주지 않습니다.) 당신은 내가 여기에 게시합니다 전체 XML 파일이 필요하지만 당신은 뭔가를 확장하려면 내가 복사 - 붙여 넣기 16 배 이미지 버튼을 enter image description here

+0

귀하의 질문은 몇 가지 방식으로 해석 될 수 있습니다. 내 대답이 당신이 묻고있는 질문이 아니라면, 당신이 원하는 것을 설명하기 위해 스크린 샷이나 아스키 아트를 사용해보십시오. –

+0

내 게시물을 편집했습니다. – SigKillMe

답변

2

을했습니다 이후는 가로 세로 비율을 유지, 약간의 혼란 그리고 당신은 하나의 차원이 설정되어있는 경우 으로, 다른 하나는 wrap_content이어야합니다.

그래서,이 버튼은 항상 너비에 맞게하지만 올바른 측면에 있고 싶어 추정 :

<ImageButton 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    ... /> 

모든 항목이 모든 항목이 자신의 이미지에 맞게보다는 그리드에 맞게하려면, 당신은 무게를 사용해야합니다. 그리드 레이아웃이있는 가중치는 API21 이전의 지원 라이브러리가 필요합니다.

<GridLayout ... 
    android:columnCount="2"> 

    <ImageButton 
     app:layout_gravity="fill" 
     app:layout_columnWeight="1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     ... /> 

    ... 
+0

아무런 반응이 없으므로, 제가하고자하는 것을 이렇게 짧게 씁니다. : 격자 레이아웃의 너비와 높이를 선택했는데,이 16 개의 ImageButton을 내 이미지와 그리드 레이 아웃이 얼마나 큰지 상관없이 모든 그리드 레이 아웃의 너비와 높이에 맞춰야합니다. – SigKillMe

+0

그래,이 대답을 업데이트 할게. –

관련 문제