2014-01-14 3 views
3

6x6 타일 게임을 만들고 싶습니다. 6x6 imageView로 레이아웃을 만들었습니다. 충분히 쉽다는 생각이 들었습니다. 하지만 아니요, 행 사이에 공백이 있습니다. 지금은 그 (것)들을 빼내려고 노력하고 있지만 아무것도 작동하지 않습니다.테이블 레이아웃의 행간 간격

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ll" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:padding="0dip" 
    > 

    <TextView 
     android:id="@+id/tv" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:textSize="30sp" 
     android:text="@string/game_text" > 
    </TextView> 

    <TableLayout 
     android:id="@+id/TableLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:padding="0dip" 
     > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="160dp" 
      android:layout_height="160dp"> 

      <ImageView 
       android:id="@+id/row1col1" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col2" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col3" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col4" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col5" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col6" 
       android:layout_weight="0.16" > 
      </ImageView> 

     </TableRow> 

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

      <ImageView 
       android:id="@+id/row2col1" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col2" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col3" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col4" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col5" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col6" 
       android:layout_weight="0.16" > 
      </ImageView> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="0dip"> 

      <ImageView 
       android:id="@+id/row3col1" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col2" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col3" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col4" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col5" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col6" 
       android:layout_weight="0.16" > 
      </ImageView> 

     </TableRow> 

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

      <ImageView 
       android:id="@+id/row4col1" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col2" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col3" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col4" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col5" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col6" 
       android:layout_weight="0.16" > 
      </ImageView> 
     </TableRow> 

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

      <ImageView 
       android:id="@+id/row5col1" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col2" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col3" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col4" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col5" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col6" 
       android:layout_weight="0.16" > 
      </ImageView> 
     </TableRow> 
     <TableRow 
      android:id="@+id/tableRow6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <ImageView 
       android:id="@+id/row6col1" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col2" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col3" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col4" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col5" 
       android:layout_weight="0.16" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col6" 
       android:layout_weight="0.16" > 
      </ImageView> 
     </TableRow> 

    </TableLayout> 

</LinearLayout> 

답변

3

TableLayout 대신 GridView를 사용하십시오. 따라서 행과 열의 너비와 높이를 조정할 수 있습니다.

+0

사용자 화면에 따라 상자의 크기가 변경되도록 적응시킬 수 있습니까? –

+0

Gridview는 Gridview의 높이와 너비가 wrap_content로 설정할 수 있습니다. – mhdtouban

1

내가 문제가 layout_weight를 생각 :

여기 내 XML이다. 레이아웃의 기본 layout_weight는 1입니다. 보통 그 숫자를 나눌 수 있기 때문에 괜찮습니다. 그러나 귀하의 경우 행 당 6 개의 항목이 있습니다. 즉, 1을 6으로 나눈 값은 0.166666666_이며 단순히 0.16입니다.

이 문제를 해결하려면 레이아웃에 layout_weight가 6이고 각 이미지가 layout_weight가 1로 표시되도록하십시오. 시도해보십시오. 나는 android : layout_weight = "6"을 선형 레이아웃에 추가하고 모든 android : layout_weight = "0.16"을 android : layout_weight = "1"로 변경했습니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ll" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:padding="0dip" 
    android:layout_weight="6" 
    > 

    <TextView 
     android:id="@+id/tv" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:textSize="30sp" 
     android:text="@string/game_text" > 
    </TextView> 

    <TableLayout 
     android:id="@+id/TableLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:padding="0dip" 
     > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="160dp" 
      android:layout_height="160dp"> 

      <ImageView 
       android:id="@+id/row1col1" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col2" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col3" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col4" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col5" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row1col6" 
       android:layout_weight="1" > 
      </ImageView> 

     </TableRow> 

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

      <ImageView 
       android:id="@+id/row2col1" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col2" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col3" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col4" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col5" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row2col6" 
       android:layout_weight="1" > 
      </ImageView> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="0dip"> 

      <ImageView 
       android:id="@+id/row3col1" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col2" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col3" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col4" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col5" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row3col6" 
       android:layout_weight="1" > 
      </ImageView> 

     </TableRow> 

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

      <ImageView 
       android:id="@+id/row4col1" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col2" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col3" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col4" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col5" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row4col6" 
       android:layout_weight="1" > 
      </ImageView> 
     </TableRow> 

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

      <ImageView 
       android:id="@+id/row5col1" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col2" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col3" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col4" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col5" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row5col6" 
       android:layout_weight="1" > 
      </ImageView> 
     </TableRow> 
     <TableRow 
      android:id="@+id/tableRow6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <ImageView 
       android:id="@+id/row6col1" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col2" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col3" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col4" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col5" 
       android:layout_weight="1" > 
      </ImageView> 

      <ImageView 
       android:id="@+id/row6col6" 
       android:layout_weight="1" > 
      </ImageView> 
     </TableRow> 

    </TableLayout> 

</LinearLayout> 

작동하는지 알려면 이미지를로드 할 필요가 없습니다. 작동하지 않거나 스크린 샷을 게시하면 다른 사람이 해결책을 알 수 있습니다.