Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Как изменить фон активити программно?

#java #android


У меня есть две картинки "one.png" и "two.png". По умолчанию у меня стоит "one.png"
как фон
android:background="@drawable/one"/>

Как я могу изменить фон на "two.png" при нажатии на кнопку?
    


Ответы

Ответ 1



Нужно установить на том layout где установлен фон android:background="@drawable/one" id примерно вот так: Аналогично на кнопку добавляете id. Затем в activity добавляете код: Button button = (Button) findViewById(R.id.my_button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { LinearLayout view = (LinearLayout) findViewById(R.id.my_layout_id); view.setBackgroundResource(R.drawable.two); } }); Дополнение: тип layout в коде естественно надо поменять с LinearLayout на тот, что используется у вас.

Ответ 2



Отсюда: https://stackoverflow.com/a/8929240/5892568 В листенере делаете: getWindow().setBackgroundDrawableResource(R.drawable.two);

Ответ 3



Если Вы используете в качестве ресурсов фона не изображение, а файл xml, то Вам подойдет только этот способ: getWindow().setBackgroundDrawableResource(R.drawable.background2);

Комментариев нет:

Отправить комментарий