2011-07-13 94 views
1

我通過實施Mastermind的克隆學習Android。我想將屏幕(或視圖)分成三個部分:包含用戶猜測的板和反饋,一系列控制按鈕和一系列按鈕,以選擇下一個釘的顏色。Android:動態變化自定義視圖中的按鈕數量

我的直覺是做到這一點是模塊化的方式。佈局文件使用嵌套LinearLayouts(我不知道最有效的事情,但是這是一個教育經驗。)

enter image description here

的「板」是一個自定義視圖,我做畫的很多帆布。底部的按鈕在佈局文件中聲明。注意右邊的橙色條?

現在,這是另一個自定義視圖。我想根據玩家可以選擇的顏色數量將可變數量的按鈕添加到該自定義視圖中。按下按鈕將爲玩家猜測下一個掛鉤選擇顏色。 (有3個版本的遊戲,簡單,中等和硬,每個都有不同數量的顏色。)

那麼,如何向我創建的自定義視圖添加可變數量的按鈕?或者我以錯誤的方式處理這個問題?我應該使用預先構建的佈局嗎?如果是這樣,哪一個以及如何動態更改佈局中按鈕的數量?

感謝您的任何幫助。乾杯!

+0

我認爲處理我的問題的最佳方法是[這個問題]的答案(http://stackoverflow.com/questions/2498697/help-8-x-10-2-dimensional-array-of-按鈕功能於機器人)。在xml文件中放入一個空的線性佈局,在運行時訪問它,並添加適當數量的按鈕。 –

回答

1

您可以通過兩種方式來實現:

  • 使用預定義的佈局和設置初始屬性 所有按鈕的「知名度」到「水漲船高」,那麼編程您 可以設置「能見度」你需要「可見」的按鈕。 「無效」屬性使按鈕不可見,也不消耗佈局中的 空間。
  • 將dinamically按鈕添加到主佈局,首先您必須 創建或「膨脹」它們。

第二個選項更強大,但如果你正在學習也更困難。