1

テーブルに 9 つのボタン、各行に 3 つのボタンを表示したい。すべてのボタンは同じ寸法です。この表を画面中央に表示する方法を教えてください。テーブルは解決策ですか、それとも間違っていますか?

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
android:layout_gravity = "center_horizontal"

     >  
    <TableRow>  

<ImageButton android:id="@+id/btn1"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="1"  
    android:background="@drawable/xo" 

 />  

<ImageButton android:id="@+id/btn2"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="2"  
 android:background="@drawable/xo" 

 />   
<ImageButton android:id="@+id/btn3"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="3"  
 android:background="@drawable/xo" 


 />  
 </TableRow>  
 <TableRow>  
<ImageButton android:id="@+id/btn4"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="4"  
 android:background="@drawable/xo" 
 />  
<ImageButton android:id="@+id/btn5"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="5"  
  android:background="@drawable/xo" 

 />  
<ImageButton android:id="@+id/btn6"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="6"  
 android:background="@drawable/xo" 

 />  

</TableRow>  
 <TableRow>  
<ImageButton android:id="@+id/btn7"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="7"  
 android:background="@drawable/xo" 

 />  
<ImageButton android:id="@+id/btn8"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="8"  
  android:background="@drawable/xo" 

 />  
<ImageButton android:id="@+id/btn9"  
 android:layout_width="60px"   
    android:layout_height="80px" 
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="9"  
  android:background="@drawable/xo" 

 />  

</TableRow>    
</TableLayout>
4

1 に答える 1

1

テーブルを別の ViewGroup にラップします。

  1. 親の重力を「中心」に設定します。
  2. 親の高さと幅を「fill_parent」に設定します
  3. テーブルの高さと幅を「wrap_content」に設定します

これで、画面全体を占める別のレイアウトの中央にテーブルが配置されます。

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:gravity="center">

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  

     >  
    <TableRow>  

<ImageButton android:id="@+id/btn1"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="1"  
    android:background="@drawable/xo" 

 />  

<ImageButton android:id="@+id/btn2"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="2"  
 android:background="@drawable/xo" 

 />   
<ImageButton android:id="@+id/btn3"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="3"  
 android:background="@drawable/xo" 


 />  
 </TableRow>  
 <TableRow>  
<ImageButton android:id="@+id/btn4"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="4"  
 android:background="@drawable/xo" 
 />  
<ImageButton android:id="@+id/btn5"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="5"  
  android:background="@drawable/xo" 

 />  
<ImageButton android:id="@+id/btn6"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="6"  
 android:background="@drawable/xo" 

 />  

</TableRow>  
 <TableRow>  
<ImageButton android:id="@+id/btn7"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="7"  
 android:background="@drawable/xo" 

 />  
<ImageButton android:id="@+id/btn8"  
 android:layout_width="60px"   
    android:layout_height="80px"  
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="8"  
  android:background="@drawable/xo" 

 />  
<ImageButton android:id="@+id/btn9"  
 android:layout_width="60px"   
    android:layout_height="80px" 
    android:layout_margin="10px"  
    android:clickable="true"  
    android:tag="9"  
  android:background="@drawable/xo" 

 />  

</TableRow>    
</TableLayout>
</LinearLayout>
于 2012-10-24T20:18:04.290 に答える