2014-01-14 2 views
3

Я хочу сделать 6x6 плитку. Итак, я сделал макет с 6x6 imageView, подумал, что это будет достаточно легко. Но нет, у меня есть пробелы между строками, и я уже некоторое время пытался их убрать, но ничего не работает.Пробел между рядами в tablelayout

Вот мой XML:

<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

Используйте GridView вместо TableLayout. Чтобы вы могли настроить ширину и высоту строк и столбцов.

+0

Можно ли адаптировать их так, чтобы размер ящиков изменялся в зависимости от экрана пользователя? –

+0

Gridview имеет высоту и ширину Gridview, которые вы можете установить как wrap_content – mhdtouban

1

Я думаю, ваша проблема заключается в layout_weight. Макет layout_weight по умолчанию для макета - 1, который обычно отлично, потому что вы можете использовать деление этого числа. В вашем случае, однако, у вас есть 6 предметов в строке. Это означает, что вам нужно разделить 1 на 6, и это дает вам номер 0.166666666_, и у вас просто 0,16.

Что вы можете сделать, чтобы исправить это, придать макету макету размера 6 и каждому представлению изображения layout_weight из 1. Попробуйте это. Я только что добавил android: layout_weight = "6" в Linear Layout и изменил все андроид: 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> 

Сообщите мне, если он будет работать, у меня не было загруженных изображений. Если это не сработает или опубликует скриншот, а кто-то другой может знать решение.

Смежные вопросы