0

私はGridLayout内に4x6グリッドのボタンを配置しようとしていますが、レイアウトの範囲外に配置されているボタンや、それを修正する方法がわからないものがあります。基本的には、グリッドレイアウトの内側に収まるように、すべてのボタンビューを縮小します。 enter image description hereGridLayoutの境界内にビューを収める方法は?

<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

try "アンドロイド:stretchMode ="あなたのグリッドレイアウトの "columnWidth" – Mehta

答えて

2

代わりのGridLayout、あなたは簡単にXMLがandroid:layout_weightandroid:weightSum属性を持つ複数の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

関連する問題