Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
#1

Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла - Программирование Android

03.06.2014, 20:13. Просмотров 586. Ответов 8
Метки нет (Все метки)

Всем доброго вечера!

Такая вот проблема:
Мне нужно создать программу, которая при нажатии кнопки меняет фон.
С кнопками я уже разобрался, осталось разобраться со сменой фона.
Есть 100 фонов, с названиями bg1, bg2, bg3, bg4, bg5...bg99, bg100.
На вход подается переменная типа int, от 0 до 99, совсем неохота засорять код сотней методов if.
Можно попробовать создать массив, но я никогда не создавал массивы типа Drawable.
Подскажите, пожалуйста, как мне это все реализовать!

Заранее огромное спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2014, 20:13     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла
Посмотрите здесь:

Как правильно загружать изображения? - Программирование Android
Разрабатываю приложение для игры. Уже выпустил тестовую версию и из первой сотни установивших у двух человек вылезла такая ошибка: ...

Как добавить действие (удаление файла) при установке приложения - Программирование Android
Есть база данных, которая при открытии приложения проверяется на наличие ее в data/data и при отсутствии копируется туда из assets. Но при...

Выбор файла и переключение на другую активити для его открытия - Программирование Android
Подскажите советом или кодом. Написал файловый менеджер для просмотра файлов на устройстве. Допустим это будет просмотрщик .txt файлов. Как...

Как при появлении Wifi загружать данные - Программирование Android
Есть приложение. В нем есть много фрагментов которые подгружают данные из сервера, но юзер зашел в него и забыл включить WiFi, сделал там...

Как удобнее загружать огромный массив в приложение? - Программирование Android
Как удобнее грузить данные? есть огромный массив чисел (Float) которые нужно подгружать в приложение как это правильнее делать? ...

Недопустимый символ в имени файла - Программирование Android
Приветствую. Господа есть список файлов к каждому из них нужно получить MIME тип. С этим со всем проблем нет. Но как только в имени файла...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
03.06.2014, 20:21     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #2
rus_artur4ik,

можно и по имени искать же

Java
1
2
3
public static Drawable getImage(Context context, int index) {
        return context.getResources().getDrawable(context.getResources().getIdentifier("bg" + (++index), "drawable", context.getPackageName()));
}
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
03.06.2014, 20:51  [ТС]     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #3
YuraAAA,
Цитата Сообщение от YuraAAA Посмотреть сообщение
можно и по имени искать же
Java
1
2
public static Drawable getImage(Context context, int index) {
return context.getResources().getDrawable(context.getResources().getIdentifier("bg" + (++index), "drawable", context.getPackageName()));
}
Впервые вижу такой код. Не могли бы вы объяснить, что к чему и как поменять фон у RelativeLayout RLMain?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
04.06.2014, 07:45     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #4
Цитата Сообщение от rus_artur4ik Посмотреть сообщение
getResources().getIdentifier("bg" + (++index), "drawable", context.getPackageName()
Получает id ресурса bg1(bg2 и т.д.) из папки drawable Вашего пакета.
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
05.06.2014, 09:42  [ТС]     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #5
Rube,
Цитата Сообщение от Rube Посмотреть сообщение
Java
1
getResources().getIdentifier("bg" + (++index), "drawable", context.getPackageName()
Получает id ресурса bg1(bg2 и т.д.) из папки drawable Вашего пакета.
А обращаться то к фону как???
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
05.06.2014, 09:54     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #6
А фоны то как хранятся? В xml или изображениями?
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
05.06.2014, 10:33     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #7
Java
1
rlMain.setBackground(getImage(this, 0)); //Поставит фон bg1
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
10.06.2014, 15:28  [ТС]     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #8
Rube,
Изображениями.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 09:42     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла
Еще ссылки по теме:

Как писать приложения для Google Glass? - Программирование Android
Приношу свои извинения, если модераторы сочтут, что эта тема не относится к данном разделу - я почему то не могу создавать темы в разделе...

Домашний ПК как сервер для приложения, с чего начать? - Программирование Android
Здравия Всем и Добрых Вечеров! пришла пора разобраться с сетевыми технологиями, и на текущий момент интересует следующая задача: ...

Динамическая смена имени ресурсного файла изображения - Программирование Android
Добрый день уважаемые форумчане! небольшой кусок кода: int z1,q1; z1 = Integer.parseInt(sensor); for (q1 = 0; q1 < 101; q1++) { ...

Как узнать наименование по номеру int в ресурсах R? - Программирование Android
как по номеру int в ресурсах R получить например "R.raw.mmm"?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
11.06.2014, 09:42     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #9
Пробуйте
Java
1
2
3
4
  LinearLayout ll = (LinearLayout) findViewById(R.id.main);
  for (int i = 1; i < 101; i++) {
      ll.setBackgroundResource(getResources()
              .getIdentifier("bg" + i, "drawable", getPackageName()));
Yandex
Объявления
11.06.2014, 09:42     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru