2015-01-08 166 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); 
}