2015-09-01 76 views
0

我當前的用例是在自定義視圖中充氣3個按鈕。我想建立一個自定義視圖,它需要寬度和解碼如何顯示3 +按鈕。如果按鈕不適合單個水平排列中的文本,則按鈕會一個接一個垂直放置。因此,爲了解決這個問題,我知道我需要通過onMeasure傳球。我是否應該在onMeasure中爲每個按鈕充氣或者在構造函數CustomButtonBarView之後給它充氣?如何以及在何處爲自定義視圖中的按鈕充氣

所以我想跟着架構是一種像

public CustomButtonBarView extends ViewGroup 
{ 
    public CustomButtonBarView(Context context) 
    { 
     //initialize variables 
    } 

    public void onMeasure() 
    { 
     // inflate all the buttons more than 3 
     // measure each button width, then see if it can be fitted in one 
     // line and then move forward 
    } 
} 

所以我的問題是我應該在哪裏誇大那些3+按鈕?我不能把它們放在XML的確切數量是不同的

<CustomButtonBarView> 
    <Button/> 
    <Button/> <!-- NO idea how many --> 
</CustomButtonBarView> 

感謝,任何幫助或指導,甚至如果你覺得我的方向不正確,隨時讓我知道。我願意改變。

回答

0

將按鈕放在網格視圖中可能會有所幫助。在那裏你可以強制按鈕按照網格。操作系統將處理按鈕的寬度,因此您可能需要測量它們。

相關問題