Tenho um RelativeLayout
que contém dois botões. Que estão sobrepostos um sobre o outro.
<?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>
Quero mostrar programticamente apenas um botão de cada vez quando o seu evento de clique for chamado.
Experimentei-o com:
playButton.setVisibility(1);
mas não funciona. A seguir está um exemplo do que estou a tentar fazer.
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
}
});
Sugiro que se utilize apenas um botão e se altere o texto e o comportamento no botão a pedido. Isso's é mais fácil e limpo do que manusear dois botões que se sobrepõem.
@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");
}
}