2013-10-05 4 views
0

Я работаю над приложением, которое позволяет менять тему. Для этого мне нужно изменить фон в java.Как изменить фон в Java?

Я создал изображениеView и попытался установить фон как изображение. Я использую этот код:

ImageView imgViewBackground =(ImageView) findViewById(R.id.imageViewBackground); 
int ID = getResources().getIdentifier("imagebackground", "drawable", getPackageName()); 
imgViewBackground.setImageResource(ID); 

, но сбои приложения после 20-30 секунд использования.

Я также попытался это, но приложение падает при запуске:

RelativeLayout layout =(RelativeLayout)findViewById(R.id.imageViewBackground); 
layout.setBackgroundResource(R.drawable.imagebackground); 

Есть ли эффективный способ изменить фон непосредственно, а не через ImageView в Java?

+0

Опубликовать свой журнал Cat, здесь все кажется прекрасным. –

+0

Я забыл удалить андроид: background = "@ drawable/imagebackground" из xml-файла. На данный момент приложение не сбой, но мой вопрос по-прежнему остается: есть ли способ напрямую изменить фон, а не через imageView, потому что на некоторых экранах мне не удается поставить imageView за кнопки? – user2668638

ответ

2

Почему бы не просто сделать это:

ImageView imgViewBackground =(ImageView) findViewById(R.id.imageViewBackground); 
imgViewBackground.setImageResource(R.drawable.imagebackground); 

P.S: Изображение по имени imagebackground должны присутствовать в вытяжке папке.

+0

Есть ли способ изменить фон напрямую, а не через imageView, потому что на некоторых экранах мне не удается поставить imageView за кнопки? EDIT: Я забыл удалить андроид: background = "@ drawable/logo" из файла xml. – user2668638

+0

Разве вы не думаете, что его (разрешение 1920x1080) немного больше toooo для телефона Android (разрешение которого должно быть явно меньше изображения)? Скорее всего, это связано с тем, что приложение терпит крах. Почему бы не изменить его размер на что-то меньшее и посмотреть. – SudoRahul

+0

Я хотел посмотреть фон на всех телефонах Android, а некоторые из них имеют разрешение 1920x1080, например Galaxy S4, HTC One ... Но, возможно, я мог бы изменить размер изображения и сделать его fitXY. – user2668638

Смежные вопросы