2016-06-03 3 views
0

임 가진 문제 :정의 크기와 TableLayout을 가진 3 × 3 ImagesButtons 만들기 다음과 같은 레이아웃을 만들려고

What i got

I :

Desired layout

는 지금까지 내가이이를 tablelayout을 사용하고 내가 원하는 것은 3x3 사각형 (이미지 버튼), 완벽한 사각형입니다. 각 버튼은 정사각형의 정확한 크기 여야합니다.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:orientation="vertical" > 


    <TableLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:shrinkColumns="*" android:stretchColumns="*" android:background="#ffffff" 
     android:layout_alignParentBottom="true"> 

     <!-- Row 2 with 3 columns --> 


     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent"> 

      <TextView 
       android:id="@+id/TextView01" android:text="Row 2 column 1" 
       android:layout_weight="1" android:background="#dcdcdc" 
       android:textColor="#000000" 
       android:padding="20dip" android:gravity="center"/> 

      <TextView 
       android:id="@+id/TextView02" android:text="Row 2 column 2" 
       android:layout_weight="1" android:background="#d3d3d3" 
       android:textColor="#000000" 
       android:padding="20dip" android:gravity="center"/> 

      <TextView 
       android:id="@+id/TextView03" android:text="Row 2 column 3" 
       android:layout_weight="1" android:background="#cac9c9" 
       android:textColor="#000000" 
       android:padding="20dip" android:gravity="center"/> 

     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent"> 

      <TextView 
       android:id="@+id/TextView04" android:text="Row 2 column 1" 
       android:layout_weight="1" android:background="#dcdcdc" 
       android:textColor="#000000" 
       android:padding="20dip" android:gravity="center"/> 

      <TextView 
       android:id="@+id/TextView05" android:text="Row 2 column 2" 
       android:layout_weight="1" android:background="#d3d3d3" 
       android:textColor="#000000" 
       android:padding="20dip" android:gravity="center"/> 

      <TextView 
       android:id="@+id/TextView06" android:text="Row 2 column 3" 
       android:layout_weight="1" android:background="#cac9c9" 
       android:textColor="#000000" 
       android:padding="20dip" android:gravity="center"/> 

     </TableRow> 
     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent"> 

      <ImageButton 
       android:id="@+id/TextView07" 
       android:layout_weight="1" 
       android:background="#dcdcdc" 
       android:textColor="#000000" 
       android:gravity="center" 
       android:src="@drawable/btn1" /> 

      <TextView 
       android:id="@+id/TextView08" android:text="Row 2 column 2" 
       android:layout_weight="1" android:background="#d3d3d3" 
       android:textColor="#000000" 
       android:padding="20dip" android:gravity="center"/> 

      <TextView 
       android:id="@+id/TextView09" android:text="Row 2 column 3" 
       android:layout_weight="1" android:background="#cac9c9" 
       android:textColor="#000000" 
       android:padding="20dip" android:gravity="center"/> 

     </TableRow> 

     <!-- Row 3 with 2 columns --> 


    </TableLayout> 
</RelativeLayout> 

답변

0

다음 3의 LinearLayout을 추가, 을 WeightSum = 3 (열)이 포함되어야 귀하의 TableRow는 (안드로이드 설정 기억에 layout_weight를 = "1")이있는 텍스트 뷰

<TableRow 
    android:weightSum="3" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_weight="1" 
     android:layout_height="100dp" 
     android:layout_width="0dp"> 

     <ImageButton....../> 

     <TextView ...../> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_weight="1" 
     android:layout_height="100dp" 
     android:layout_width="0dp"> 

     <ImageButton....../> 

     <TextView ...../> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_weight="1" 
     android:layout_height="100dp" 
     android:layout_width="0dp"> 

     <ImageButton....../> 

     <TextView ...../> 
    </LinearLayout> 


</TableRow> 
+0

와 이미지 뷰를 포함 하지만 이미지 버튼이 아닙니다. –

+0

대신에 이미지 버튼을 넣을 수 있습니다. –