Как скрыть кнопку программно?
У меня есть 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
}
});
Ответы
Ответ 1
Вы можете использовать следующий код:
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);
}
});
Ответ 2
Попробуйте приведенный ниже код -
playButton.setVisibility(View.INVISIBLE);
или -
playButton.setVisibility(View.GONE);
показать это снова с помощью
playButton.setVisibility(View.VISIBLE);
Ответ 3
Пожалуйста, используйте ниже
View.GONE and View.VISIBLE
Ответ 4
Hidde:
BUTTON.setVisibility(View.GONE);
Показать:
BUTTON.setVisibility(View.VISIBLE);
Ответ 5
public void OnClick(View.v)
Button b1 = (Button) findViewById(R.id.playButton);
b1.setVisiblity(View.INVISIBLE);
Ответ 6
Я бы предложил вам использовать только одну кнопку, чтобы изменить текст и поведение кнопки по требованию. Это проще и чище, чем обработка двух кнопок, которые перекрываются.
@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");
}
}
Ответ 7
Попробуйте View.INVISIBLE
.
Ответ 8
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);
Ответ 9
Попробуйте следующее: playButton = (Button) findViewById(R.id.play);
playButton.setVisibility(View.INVISIBLE);
Я думаю, что это будет сделано.
Ответ 10
Для "Xamarin Android":
FindViewById<Button>(Resource.Id.Button1).Visibility = ViewStates.Gone;
Ответ 11
В котлине
myButton.visibility = View.GONE