2015-01-08 169 views
-1

如何在用戶單擊按鈕時創建圖像按鈕。我嘗試了不同的解決方案,但沒有幫單擊按鈕上的Android圖像按鈕顯示

public void onCreate(Bundle savedInstanceState){ 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


OnClickListener oclBtnOK =new OnClickListener(){ 

     public void onClick(View V) { 

      getImageButton(); 


     } 

     private void getImageButton() { 
      ImageButton imgbtn = new ImageButton(null, null); 
      imgbtn.getContext();  
      } 


    }; 
    button1.setOnClickListener(oclBtnOK); 
} 
+0

您在Layout中添加ImageButton的位置? –

+0

看看這裏的答案http://stackoverflow.com/a/16417150/4384828 –

+0

我沒有在佈局中添加imagebutton。如果我已經將它添加到佈局中,那麼它將直接顯示在我的屏幕上,而不必單擊按鈕。 –

回答

0

您可以通過多種方式解決這個(如果我深知你的問題...)

  • 您可以直接在XML佈局添加您的ImageView,並設置其知名度了。然後,在點擊監聽器,你可以做

    findViewById(R.id.your_image_button).setVisibility(View.VISIBLE);

  • 或者你創建就像你做了一個新的ImageButton,但你必須把它添加到您的佈局(假設你的你的活動主要佈局一個名爲的LinearLayout main_layout):

    ((LinearLayout)findViewById(R.id.main_layout)).addView(imgbtn);

0

嘗試這樣的,如果你想要做programaticallly

LayoutParams params; 
LinearLayout mainLayout; 
Button but; 
ImageButton iBut; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 


mainLayout = new LinearLayout(this); 

but = new Button(this); 
iBut=new ImageButton(this); 
params = new LayoutParams(LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT); 

mainLayout.addView(but, params); 
but.setText("Click Me"); 
but.setOnClickListener(new OnClickListener() { 

    public void onClick(View v) { 
     mainLayout.addView(iBut, params); 
     setContentView(mainLayout); 
    } 

}); 



setContentView(mainLayout); 
}