0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
1

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

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

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

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

Заранее огромное спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2014, 20:13
Ответы с готовыми решениями:

Несколько фонов в ie8
Как сделать несколько фонов с заданным расположением в ie8 ? вот такой: body {...

Получение имени запускаемого файла(ов) для его обработки в программе на С++
Определенное расширение файла привязываем к программе написанной на С++. 1. Как в этой...

Несколько фонов с position fixed на странице
Хочу сделать несколько блоков с закрепленным фоном, пытался применить это свойство для блока, но...

Разница в работе bat-файла при его запуске от имени простого пользователя и от имени администратора
Здравствуйте. Пытаюсь создать .bat который: создаёт папку %ProgramFiles%\MyProg и копирует туда...

8
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 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()));
}
0
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?
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
04.06.2014, 07:45 4
Цитата Сообщение от rus_artur4ik Посмотреть сообщение
getResources().getIdentifier("bg" + (++index), "drawable", context.getPackageName()
Получает id ресурса bg1(bg2 и т.д.) из папки drawable Вашего пакета.
0
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 Вашего пакета.
А обращаться то к фону как???
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
05.06.2014, 09:54 6
А фоны то как хранятся? В xml или изображениями?
0
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
05.06.2014, 10:33 7
Java
1
rlMain.setBackground(getImage(this, 0)); //Поставит фон bg1
0
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
10.06.2014, 15:28  [ТС] 8
Rube,
Изображениями.
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
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()));
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2014, 09:42
Помогаю со студенческими работами здесь

Как реализовать сравнение по имени файла,а не по его содержимому?
Здравствуйте!Есть код,в котором реализуется поиск объекта в заданной области по маске.В роли маски...

Как по имени файла получить количество дней его существования?
нужно ввести название файла в терминал и получить количество дней существования файла. ...

Как загружать в БД сразу несколько изображений?
Как загрузить в базу данных сразу несколько изображений в одну категорию. При выводе этих значений...

Как сделать проверку на наличие похожего имени файла и запрос нового имени файла?
При загрузке изображения присваивается имя foto.jpg. Вопрос, как сделать проверку на то что фото с...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru