2015-03-20 3 views
0

Я делаю tic tac toe на андроиде только для удовольствия, и я не знаю, как его проектировать. На самом деле, я сделал Grid Layout, чтобы иметь 9 интерактивных квадратов, но я не знаю, как поднести изображение сетки под ним.Как наложить GridLayout на ImageView?

Сначала я поставил сетку на фоне атрибута:

<GridLayout 
    android:id="@+id/Game" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:columnCount="3" 
    android:rowCount="3" 
    android:numColumns="3" 

    android:background="@drawable/grid" 
    > 

Но это не сработало:

Тогда я попытался положить ImageView как родителя GridLayout, но это невозможно. Есть ли другой способ?

ответ

0

Концепция gridLayout или макета таблицы заключается в том, что вы настраиваете сетку, как вы это сделали, а затем добавляете дочерние компоненты для каждого элемента сетки. В случае вашей платы TicTacToe я бы предложил вам добавить 9 ImageButtons, по одному для каждого окна. Когда пользователь нажимает на кнопку, вы можете изменить изображение с пустого на X или O.

Это пример, который я вытащил из набора, который имеет аналогичную концепцию сетки/таблицы.

 <ImageButton 
      android:id="@+id/imageButton_dtmf_1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@drawable/btn_dial_1" 
      android:contentDescription="@string/dialer_button_1" /> 

В коде java вы идентифицируете каждый из 9 кнопок изображения и установите для каждого из них прослушиватель кликов.

Вот основы в GridLayout: http://www.techotopia.com/index.php/Working_with_the_Android_GridLayout_in_XML_Layout_Resources

+0

нормально для кнопок изображения, но теперь, как я могу поставить эту сетку под кнопками изображения? src: https: //github.com/tomgiraudet/tictactoc/blob/master/Gam%27Insa/img/Grid.png – laurenoutang

+0

ImageButtons, вероятно, скрывают фон GridLayout. Вы можете попробовать установить поля или отступы на каждой из кнопок, чтобы предоставить пространство для отображения фона. –