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

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

Восстановить пароль Регистрация
 
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
03.06.2014, 20:13     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #1
Всем доброго вечера!

Такая вот проблема:
Мне нужно создать программу, которая при нажатии кнопки меняет фон.
С кнопками я уже разобрался, осталось разобраться со сменой фона.
Есть 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 Как писать приложения для Google Glass?
Недопустимый символ в имени файла Android
Android Выбор файла и переключение на другую активити для его открытия
Как загружать/хранить файл в SQLite? Android
С чего начать написание приложения? И что понадобится для его реализации Android
Android Как удобнее загружать огромный массив в приложение?
Как загружать картинки на стену Вконтакте? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 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
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,064
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
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,064
05.06.2014, 09:54     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла #6
А фоны то как хранятся? В xml или изображениями?
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 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     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла
Еще ссылки по теме:

Как добавить действие (удаление файла) при установке приложения Android
Android Как добавить в начало приложения (готового .apk файла) свою сцену?
Как правильно загружать изображения? Android
Как получить значение текстового ресурса, не зная его имени? Android
Android Как при появлении Wifi загружать данные

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

Или воспользуйтесь поиском по форуму:
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,064
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     Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла
Ответ Создать тему
Опции темы

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