Mam, RelativeLayout
który zawiera dwa przyciski. Które nakładają się na siebie.
<?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>
Chcę programowo wyświetlać tylko jeden przycisk naraz, gdy wywoływane jest jego zdarzenie kliknięcia.
Wypróbowałem to z:
playButton.setVisibility(1);
ale to nie działa. Poniżej znajduje się przykład tego, co próbuję zrobić.
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
}
});
Wypróbuj poniższy kod -
lub -
pokaż to ponownie za pomocą -
źródło
Proszę użyć poniżej
źródło
Hidde:
Pokazać:
źródło
źródło
W Kotlinie
myButton.visibility = View.GONE
źródło
Sugerowałbym użycie tylko jednego przycisku, aby zmienić tekst i zachowanie przycisku na żądanie. To łatwiejsze i czystsze niż obsługa dwóch zachodzących na siebie przycisków.
źródło
źródło
Spróbuj
View.INVISIBLE
.źródło
Spróbuj tego:
playButton = (Button) findViewById(R.id.play); playButton.setVisibility(View.INVISIBLE);
myślę, że to wystarczy.źródło
W przypadku „Xamarin Android”:
źródło
Kod Kotlin jest dużo prostszy:
źródło