如何在Android中随机播放行和列?

时间:2011-04-16 15:51:42

标签: android random rows

我想制作一个简单的游戏让我的孩子占据下面的编码将是主屏幕。我希望做的是让imageview显示一个动物,桌子将包含动物的某个地方。我决定使用按钮,onclick将显示它下面的动物,现在我用1到25的文本标记它们,所以我可以跟踪它们进行测试。

我底部有一个按钮(随机播放)按下随机播放按钮时,我应该如何调整行和列?例如,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>

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是创建一个ArrayList<Button> buttonsList,而不是xml布局,可以onCreate()添加到TableLayout。然后,在shuffleButton onClick()后,从TableLayout移除按钮,随机播放阵列(Collections.shuffle (buttonsList);)并重新添加。

我希望你有意义