Страница 1 из 1

Программное изменение ImageButton

Добавлено: 17 авг 2013, 20:29
Mr. Nobody
Подскажите, пожалуйста, как программно сменить изображение в ImageButton

Код: Выделить всё

img.setImageResource(R.drawable.secondimage);
какой путь надо прописать между (...) и куда кидать картинку

Сразу такой вопрос:
По умолчанию предлагает только одну картинку "@drawable/ic_launcher" это картинка, на которой изображен android. Откуда он ее берет?
Я нашел три папки (drawable-hdpi, drawable-mdpi, drawable-xhdpi) и в каждой есть картинка ic_launcher.png

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 22:23
rezak90
в зависимости от плотности экрана он сам выберет нужную картинку

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 22:28
Mr. Nobody
т.е. если я закину в любую папку startandroid.png и пропишу
img.setImageResource(R.drawable.startandroid);
будет работать? или надо еще что-то прописать?

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 22:43
Foenix
картинку нужно кинуть или в папку drawable (одну на все разрешения экрана), или в папки drawable с приставкой после черточки, например drawable-hdpi, соответсвующую разрешению (если при разных разрешениях экрана будет использоваться картинка своего размера)

ну и вписывать ее имя так, как у тебя в коде..

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 22:44
Foenix
Mr. Nobody писал(а):т.е. если я закину в любую папку startandroid.png и пропишу
img.setImageResource(R.drawable.startandroid);
будет работать? или надо еще что-то прописать?
нельзя "в любую папку", или в 1 drawable, или во ВСЕ остальные.

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 23:00
Mr. Nobody
аа, а я думаю, чего вылетает. Спасибо большое

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 23:05
rezak90
Foenix писал(а):нельзя "в любую папку", или в 1 drawable, или во ВСЕ остальные.
лукавишь, можно ;)

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 23:31
Foenix
ну да, можно. Но правильно ли?

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 23:34
Mr. Nobody
Хм, чего вылетает тогда, пойду ошибку искать)

Re: Программное изменение ImageButton

Добавлено: 17 авг 2013, 23:35
rezak90
Foenix писал(а):ну да, можно. Но правильно ли?
конечно не правильно

Re: Программное изменение ImageButton

Добавлено: 18 авг 2013, 01:11
Mr. Nobody
Черт, столько времени убил, оказывается ошибка была в том, что это не ImageButton, а ImageView..
Разработчики eclipse могли бы показать ошибку..
Вопрос решен, все работает, всем большое спасибо

Re: Программное изменение ImageButton

Добавлено: 18 авг 2013, 01:41
Mr. Nobody

Код: Выделить всё

		Intent intent = getIntent();
	    String getlevel = intent.getStringExtra("level");
	    String pathlevel = "level_" + getlevel;
	    img.setImageResource(R.drawable.pathlevel);
Скажите, пожалуйста, как сделать, чтобы код не выдавал ошибку? у меня название файла формируется программно, он его естественно не находит и выдает ошибку (pathlevel подчеркнут красным)

Нашел
http://stackoverflow.com/questions/1264 ... ce-in-code

Re: Программное изменение ImageButton

Добавлено: 18 авг 2013, 01:50
Foenix
Что ты! так работать не будет!! что ж ты переменную вписал-то туда?
Надо получить int значение ресурса вначале,
попробуй так

Код: Выделить всё

int id = getResources().getIdentifier(pathlevel, "drawable", getPackageName());
setImageResource(id);