2012-07-11 58 views
4

我需要創建類似這樣的一些畫面:GridView,GridLayout或TableLayout?

enter image description here

而且,如果用戶想要顯示每個屏幕更多的按鈕,它會是這樣的:

enter image description here

今天我使用LinearLayouts來做到這一點。

我想知道哪個選項最適合開發像上面這樣的設計。或

  1. 用戶不得Swype輸入便可以看到按鈕的休息,按鈕的其餘 將通過導航按鈕顯示(不 放心吧,我會用一個Viewflipper做到這一點)

  2. 按鈕必須使用所有屏幕,並且必須具有相同的大小。他們 必須調整自己,如果圖像大到適合屏幕尺寸

  3. 輕量級。內存低功耗

  4. 按鈕按下時,可能會打開新的網格

,這是什麼是最好的選擇? GridView,GridLayout或TableLayout?

預先感謝您!

回答

3

GridView的是滾動的。如果一次加載所有按鈕並放棄上一個按鈕和下一個按鈕,則只有使用GridView纔有意義。

GridLayout是要走的路。

+2

任何想法你是如何決定的?我需要一個例子。調整大小是如何工作的? – Sarvesh 2013-06-13 00:34:25

2

我個人認爲最好的方法是在代碼中創建一個相對佈局。 獲取屏幕寬度和高度。 鴻溝的寬度由4 除以身高2然後 呼叫

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(args to make fit screen and be in order); 
    myRelativeLayout.addView(lp); 

,並設置你想要的順序對圖像。 爲了獲得差距使用具有阿爾法的圖像,所以邊緣造成了差距。

然後調用

invalidate() 

但是,這只是我的。 :)

檢查了一些其他地方,如 How to lay out Views in RelativeLayout programmatically?