как мне изменить кнопку обратно в формат кнопки по умолчанию в Java?

#android #button

#Android #кнопка

Вопрос:

Обычно кнопки имеют это красивое форматирование. Для большей части моей программы я хочу изменить фон кнопки на невидимый фон, и я использую

 myButton.setBackgroundColor(Color.TRANSPARENT);
  

таким образом, я все еще вижу текст, но не фон. затем позже я делаю

  myButton.setBackgroundColor(Color.GREY);
  

но моя кнопка выглядит просто как серое текстовое поле с текстом, она теряет все свое красивое форматирование кнопок. как я могу изменить ее обратно, чтобы кнопка по умолчанию выглядела хорошо? я неправильно делаю фон невидимым?

Ответ №1:

вы можете сохранить изображение кнопки и вернуть его к тому, каким он был позже:

     Drawable originalBackground = button.getBackground();

    button.setBackgroundColor(Color.TRANSPARENT);
    ...
    button.setBackgroundDrawable(originalBackground);
  

Ответ №2:

MyButton.setBackgroundDrawable(null); Установит его по умолчанию.

Ответ №3:

Другим подходом могут быть 9-patch drawables, которые вы можете использовать для полной настройки ваших кнопок очень легко (и они выглядят великолепно, потому что они не растягиваются!) Подробнее см. http://developer.android.com/guide/developing/tools/draw9patch.html