2011-12-13 49 views
1

我正在尋找一種簡單的方法來製作一個二維數組的圖標在android上的棋盤遊戲。我用java編寫了一個遊戲,但它使用了swing,我現在正在嘗試將它改寫爲android。我已經搜索遍及並找到了製作二維數組的方法,但我現在不知道如何用圖標填充它。任何幫助,將不勝感激。這裏是我使用swing lib的java代碼。):android如何製作一個二維數組的圖標

spots = new JButton[15][15]; 
     grid = new JPanel(new GridLayout(15, 15)); 
     for (int i = 0; i < spots.length; i++) { 
      for (int j = 0; j < spots.length; j++) { 
       spots[i][j] = new JButton();     
       spots[i][j].setActionCommand(i + ":" + j); 
       spots[i][j].addActionListener(this);   
       grid.add(spots[i][j]); 
       spots[i][j].setIcon(backgroundIcon); 
      } 
     } 

回答

2

你很需要創建一個ImageView[][]來保存你的圖標。您可以使用GridView來顯示它們。這是一個相當固定的大小問題,所以我建議使用ImageView[]List<ImageView>。看看這個sample

注意:您可以設置ImageView的OnClickListener

+0

謝謝你的答覆。我很抱歉,我花了很長時間纔回復,我記不起任何賬戶的憑證。 – Nissi 2012-08-07 14:57:56

+0

鏈接已死... – Flummox 2016-06-15 11:14:57

2

我個人認爲你應該使用GridView並管理這些位置(使用自定義ListAdapter)作爲列表而不是2d數組。你可以在你的列表中打包函數,這可以使它被視爲一個二維數組。否則,你將不得不從一開始處理自定義視圖和適配器。也試圖從一個春天的應用程序導入太多的代碼可能會變得凌亂

如果你真的想要使用二維數組,你可以創建一個ImageViews爲數組中的每個元素的佈局,並使用你的XML樣式屬性( android:layout_belowandroid:layout_toRightOf)創建電路板外觀。

你可以接着用手柄以例如這些圖像視圖填充您的二維數組:

spots[0][0] = findViewById(R.id.coords_0_0); 

然後,你可以調用。

spots[0][0].setImageResource(R.image.newPiece); 

當你想改變

相關問題