如何以编程方式隐藏button?

我有一个RelativeLayout包含两个button。 它们彼此重叠。

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF"> <Button android:text="Play" android:id="@+id/play" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom = "true"> </Button> <Button android:text="Stop " android:id="@+id/stop" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom = "true"> </Button> </RelativeLayout> 

我想以编程方式显示一次只有一个button,当它的点击事件被调用。

我尝试过:

 playButton.setVisibility(1); 

但它不起作用。 以下是我正在尝试做的一个例子。

 playButton = (Button) findViewById(R.id.play); playButton.setVisibility(1); playButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //when play is clicked show stop button and hide play button } }); 

您可以使用下面的代码:

 playButton = (Button) findViewById(R.id.play); playButton.setVisibility(View.VISIBLE); playButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //when play is clicked show stop button and hide play button playButton.setVisibility(View.GONE); stopButton.setVisibility(View.VISIBLE); } }); 

尝试下面的代码 –

 playButton.setVisibility(View.INVISIBLE); 

要么 –

 playButton.setVisibility(View.GONE); 

再次用 –

 playButton.setVisibility(View.VISIBLE); 

请在下面使用

 View.GONE and View.VISIBLE 

Hidde:

 BUTTON.setVisibility(View.GONE); 

显示:

 BUTTON.setVisibility(View.VISIBLE); 

我build议你只用一个button来改变button上的文本和行为。 这比处理两个重叠的button更容易和更清洁。

 @Override public void onClick(View v) { String curText = ((TextView)v).getText(); if(curText.equals("Play")){ ((TextView)v).setText("Stop"); } if(curText.equals("Stop")){ ((TextView)v).setText("Play"); } } 
 public void OnClick(View.v) Button b1 = (Button) findViewById(R.id.playButton); b1.setVisiblity(View.INVISIBLE); 

尝试View.INVISIBLE

请试试这个: playButton = (Button) findViewById(R.id.play); playButton.setVisibility(View.INVISIBLE); playButton = (Button) findViewById(R.id.play); playButton.setVisibility(View.INVISIBLE); 我认为这将做到这一点。

  Button button = (Button) findViewById(R.id.myButton); //set to visible button.setVisibility(View.VISIBLE); //set to invisble button.setVisibility(View.INVISIBLE); //or button.setVisibility(View.GONE);