У меня есть, RelativeLayout
который содержит две кнопки. Которые накладываются друг на друга.
<?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>
Я хочу, чтобы программно показывать только одну кнопку за раз, когда вызывается событие click.
Я попробовал это с:
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
}
});
Попробуйте следующий код -
или -
показать это снова с -
источник
Пожалуйста, используется ниже
источник
Hidde:
Шоу:
источник
источник
В котлине
myButton.visibility = View.GONE
источник
Я бы предложил вам использовать только одну кнопку для изменения текста и поведения кнопки по требованию. Это проще и чище, чем работать с двумя пересекающимися кнопками.
источник
источник
Попробуй
View.INVISIBLE
.источник
Пожалуйста, попробуйте это:
playButton = (Button) findViewById(R.id.play); playButton.setVisibility(View.INVISIBLE);
я думаю, что это сделает это.источник
Для «Xamarin Android»:
источник
Код Kotlin намного проще:
источник