2012-09-25 67 views
0

我做了我的自定義視圖,我想補充view.button,所以我做了這個解決方案:Android的自定義視圖和可見按鈕

Public void onCreate(Bundle savedInstanceState) 
{ 
    Button up; 
    up = new Button(getApplicationContext()); 
    up.setText("ahoj"); 
    up.setHeight(100); 
    up.setWidth(100); 
    up.setTop(200); 
    up.setLeft(100); 
    LinearLayout layout = new LinearLayout(getApplicationContext()); 
    super.onCreate(savedInstanceState); 
    setContentView(layout); 

    myview view = new myview(this); 
    layout.addView(view); 

layout.addView(up); 

我只看到我的看法,但沒有按鈕。我的視圖只繪製一些PNG文件。有誰知道問題在哪裏?非常感謝。

回答

3

最有可能的原因是您的自定義視圖添加了佈局參數MATCH_PARENT。它需要整個佈局,並且按鈕不可見。嘗試不是與WRAP_CONTENT PARAMS添加自定義視圖:

MyView view = new myview(this); 
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LAYOUTParams.WRAP_CONTENT) 
layout.addView(view, lp); 
+0

它沒有工作:(這裏是整個代碼 – user1696947

0

你有正確的代碼,但在錯誤的順序。試試這個:

Public void onCreate(Bundle savedInstanceState) 
{ 
    Button up; 
    LinearLayout layout = new LinearLayout(getApplicationContext()); 
    up = new Button(getApplicationContext()); 
    up.setText("ahoj"); 
    up.setHeight(100); 
    up.setWidth(100); 
    up.setTop(200); 
    up.setLeft(100); 




    myview view = new myview(this); 
    layout.addView(view); 
    layout.addView(up); 

    setContentView(layout); 
    super.onCreate(savedInstanceState); 
} 
+0

添加視圖佈局調用後'setContentView'是完全可以接受的,我不認爲這個問題是與訂單此外,理想情況下,。你應該在你的方法的開始時調用'super.onCreate',而不是在最後。 –

+0

我試過但它沒有工作。:( – user1696947

相關問題