2011-04-16 32 views
0

我想做一个简单的游戏,让我的孩子占用下面的编码将是主屏幕。我希望能做的就是让imageview显示一个动物,并且表格将在某个地方包含动物。我决定使用按钮,onclick会显示它下面的动物,现在我已经用1 - 25的文字标记了它们,所以我可以跟踪它们进行测试。如何在Android中对行和列进行洗牌?

我在底部有一个按钮(随机播放)当按下随机播放按钮时,我应该如何去改变行和列?例如,button1被设置为row1中的第一个按钮,但它应该移动到另一行中的另一个位置。

<?xml version="1.0" encoding="utf-8"?> 

    <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:stretchColumns="*" > 


     <ImageView android:id="@+id/imageView1" android:src="@drawable/ANIMAL" android:layout_height="wrap_content" android:layout_width="fill_parent" android:adjustViewBounds="true"></ImageView> 


      <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <Button android:id="@+id/Button01" android:text="1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button02" android:text="2" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button03" android:text="3" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button04" android:text="4" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button05" android:text="5" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button></TableRow> 
     <TableRow android:id="@+id/TableRow02" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <Button android:id="@+id/Button06" android:text="6" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button07" android:text="7" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button08" android:text="8" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button09" android:text="9" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button10" android:text="10" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
      </TableRow> 
      <TableRow android:id="@+id/TableRow03" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <Button android:id="@+id/Button11" android:text="11" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button12" android:text="12" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button13" android:text="13" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button14" android:text="14" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="15" android:layout_height="wrap_content" android:id="@+id/Button15" android:layout_width="fill_parent"></Button> 
      </TableRow> 
      <TableRow android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/TableRow04"> 
       <Button android:text="16" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button16"></Button> 
       <Button android:text="17" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button17"></Button> 
       <Button android:text="18" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button18"></Button> 
       <Button android:text="19" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button19"></Button> 
       <Button android:text="20" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button20"></Button> 
      </TableRow> 
      <TableRow android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/tableRow05"> 
       <Button android:text="21" android:id="@+id/button21" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="22" android:id="@+id/button22" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="23" android:id="@+id/button23" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="24" android:id="@+id/button24" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="25" android:id="@+id/button25" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
      </TableRow> 


     <Button android:id="@+id/mixbtn" android:layout_height="40dip" android:layout_width="fill_parent" android:clickable="true" android:text="Shuffle"></Button> 
    </TableLayout> 

回答

0

我quess我看到的是最简单的方法,而不是XML布局,创建一个ArrayList<Button> buttonsList,你可以onCreate()添加到TableLayout。然后,在shuffleButton onClick()上,从TableLayout中删除按钮,将数组进行混洗(Collections.shuffle (buttonsList);)并再次添加它们。我希望它对你有意义