Ich habe eine, RelativeLayout
die zwei Knöpfe enthält. Welche überlappen sich.
<?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>
Ich möchte programmgesteuert jeweils nur eine Schaltfläche anzeigen, wenn das Klickereignis aufgerufen wird.
Ich habe es versucht mit:
playButton.setVisibility(1);
aber es hat nicht funktioniert. Das Folgende ist ein Beispiel, was ich versuche zu tun.
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
}
});
Versuchen Sie den folgenden Code -
oder -
zeig es nochmal mit -
quelle
Bitte unten verwendet
quelle
Versteckt:
Show:
quelle
quelle
In Kotlin
myButton.visibility = View.GONE
quelle
Ich würde vorschlagen, dass Sie nur eine Schaltfläche verwenden, um den Text und das Verhalten der Schaltfläche bei Bedarf zu ändern. Das ist einfacher und sauberer als die Handhabung von zwei überlappenden Tasten.
quelle
quelle
Versuchen Sie es
View.INVISIBLE
.quelle
Bitte versuchen Sie Folgendes:
playButton = (Button) findViewById(R.id.play); playButton.setVisibility(View.INVISIBLE);
Ich denke, das wird es tun.quelle
Für "Xamarin Android":
quelle
Kotlin-Code ist viel einfacher:
quelle