0

GridLayout 안에 4x6 격자의 단추를 배치하려하지만 일부는 레이아웃 경계를 벗어나 배치되고 수정 방법을 모릅니다. 기본적으로 모든 단추보기를 격자 레이아웃 내부에 맞게 축소해야합니다. XML은 android:layout_weightandroid:weightSum 속성과GridLayout 범위 내에서 뷰를 맞추는 방법은 무엇입니까?

<GridLayout 
     android:id="@+id/grid_buttons" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:columnCount="6" 
     android:rowCount="4"> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_column="0" 
      android:layout_row="0" 
      android:text="@string/button_1"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="1" 
      android:layout_row="0" 
      android:text="@string/button_2"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="2" 
      android:layout_row="0" 
      android:text="@string/button_3"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="0" 
      android:layout_row="1" 
      android:text="@string/button_4"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="1" 
      android:layout_row="1" 
      android:text="@string/button_5"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="2" 
      android:layout_row="1" 
      android:text="@string/button_6"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="0" 
      android:layout_row="2" 
      android:text="@string/button_7"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="1" 
      android:layout_row="2" 
      android:text="@string/button_8"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="2" 
      android:layout_row="2" 
      android:text="@string/button_9"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="1" 
      android:layout_row="3" 
      android:text="@string/button_0"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="3" 
      android:layout_row="0" 
      android:text="@string/button_A"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="4" 
      android:layout_row="0" 
      android:text="@string/button_B"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="5" 
      android:layout_row="0" 
      android:text="@string/button_C"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="3" 
      android:layout_row="1" 
      android:text="@string/button_D"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="4" 
      android:layout_row="1" 
      android:text="@string/button_E"/> 

     <Button 
      android:layout_weight="1" 
      android:layout_column="5" 
      android:layout_row="1" 
      android:text="@string/button_F"/> 

    </GridLayout> 
+0

사용 테이블 레이아웃 –

+0

@Nico이 도움이 될 것입니다. – FAT

+0

격자 레이아웃의 "android : stretchMode ="columnWidth "시도해주세요 – Mehta

답변

2

대신 GridLayoutenter image description here, 당신은 쉽게 여러 LinearLayout를 사용하여 원하는 결과를 얻을 수 있습니다.

여기에 4*6 표가 있습니다. 필요에 따라 단추 텍스트를 변경하십시오. 내 대답은 아래를 참조하십시오

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:weightSum="4"> 

<!-- First Row --> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:orientation="horizontal" 
    android:layout_weight="1" 
    android:weightSum="6"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="1"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="2"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="3"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="4"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="5"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="6"/> 

</LinearLayout> 

<!-- Second Row --> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:orientation="horizontal" 
    android:layout_weight="1" 
    android:weightSum="6"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="7"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="8"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="9"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="10"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="11"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="12"/> 

</LinearLayout> 

<!-- Third Row --> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:orientation="horizontal" 
    android:layout_weight="1" 
    android:weightSum="6"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="13"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="14"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="15"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="16"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="17"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="18"/> 

</LinearLayout> 

<!-- Fourth Row --> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:orientation="horizontal" 
    android:layout_weight="1" 
    android:weightSum="6"> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="19"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="20"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="21"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="22"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="23"/> 

    <Button 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="24"/> 

</LinearLayout> 

희망이 당신이 ~

enter image description here

+0

도움을 주셔서 감사합니다.이 작품은 – Nico

+0

:) – FAT

관련 문제