2012-10-17 83 views
1

我正在做一個Titanium模塊(只是Android代碼),我需要在視圖中顯示一個按鈕,所以沒有Activity和沒有xml佈局。 我有下面的代碼在我的視圖中添加按鈕:Android:在視圖中添加按鈕

public class MyView extends ViewGroup { 
public MyView(Context context) { 
    super(context); 
    ... 
    Button b=new Button(context); 
    b.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
       LayoutParams.WRAP_CONTENT)); 
    b.setText("Some Text"); 
    this.addView(b); 
} 
} 

搜索在StackOverflow上,此代碼應工作...但按鈕永遠不會顯示。 如何將按鈕添加到View或ViewGroup?

編輯添加onLayout()方法:

@Override 
protected void onLayout(boolean changed, int l, int t, int r, int b) { 
    LinearLayout l1=new LinearLayout(_context); 
    l1.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); 
    l1.setOrientation(LinearLayout.VERTICAL); 
    Button b1=new Button(_context); 
    b1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    b1.setText("Button"); 
    l1.addView(b1); 

    this.addView(l1); 
} 

感謝您help.-

+0

如果擴展'ViewGroup',則必須實現'onLayout'方法,該方法是抽象的,以便實際將子視圖放置在'ViewGroup'上。 – Luksprog

+0

試過了,沒有任何反應 –

+0

你介意發佈'onLayout'方法嗎?另外,您的觀點是否設置了一些尺寸? – Luksprog

回答

0

ViewGroup是抽象類。我認爲你實施了一些錯誤的方法。嘗試使用任何具體的佈局,例如改爲LinearLayout

+0

構建自定義視圖我只是擴展ViewGroup添加視圖到MyView 。無論如何,我正在使用線性佈局來呈現視圖。我已將我的onLayout方法添加到我的問題中。感謝您的幫助! –

相關問題