Изменить фоновое изображение приложения

Я хочу изменить фоновое изображение моего приложения, когда пользователь выбирает изображение из настройки действия, я устанавливаю фоновое изображение, используя тему, как:

<style name="Theme" parent="@android:style/Theme">
    <item name="android:windowBackground">@drawable/sunset</item>
</style>

Теперь, как я могу изменить android:windowBackground с помощью кода.


person Krishnakant Dalal    schedule 24.04.2012    source источник
comment
Вы не задаете вопрос. Кроме того, что вы пробовали? Вы получаете какие-либо ошибки?   -  person adneal    schedule 24.04.2012
comment
@aneal Я пытаюсь изменить фоновое изображение с помощью кода, который сначала устанавливается с помощью XML, показанного выше.   -  person Krishnakant Dalal    schedule 24.04.2012


Ответы (2)


Обновлено

после некоторых исследований и разработок и примера я получил, чтобы решить эту проблему, которую вы должны сделать следующим образом:

Сначала создайте тему. (Вы уже создали свою тему)

Затем получите тему во время выполнения и установите фон этой темы по своему усмотрению.

Затем установите тему в качестве темы приложения.

Вышеуказанные шаги — это то, что вы можете сделать, чтобы изменить фон всего вашего приложения.

Чтобы получить тему и установить значение атрибута, см. это: Эта ссылка

См. также это.

person Shreyash Mahajan    schedule 24.04.2012
comment
Итак, как лучше всего следовать, чтобы достичь моей цели с меньшими усилиями. - person Krishnakant Dalal; 24.04.2012
comment
Спасибо за ваш ответ, но я не хочу ограничивать пользователя выбором нескольких фоновых изображений, он может исследовать SD-карту и выбирать любое изображение в качестве фона. - person Krishnakant Dalal; 25.04.2012
comment
Я еще не видел способа установить фон темы во время выполнения ни в одной из ваших ссылок. То же самое, когда я гуглил. Не могли бы вы быть более точным и добавить пример кода? - person ForceMagic; 04.11.2013
comment
@ForceMagic: я не знаю никакого способа установить фон приложения во время выполнения. но вы можете установить Фон индивидуальной активности. Для этого вы можете использовать: getWindow().setBackgroundDrawable(Drawable.createFromPath(bg_path)); - person Shreyash Mahajan; 06.11.2013
comment
Тогда я не уверен, что понимаю, как бы вы Then get The Theme at runTime and set the Background of that Theme as you want. так как я не видел никакого способа установить фон темы. - person ForceMagic; 06.11.2013

В своей деятельности вызовите getWindow(). setBackgroundDrawable(Drawable Drawable) или getWindow().setBackgroundDrawableResource(int resid).

person Gallal    schedule 15.05.2012