Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

Несколько фонов в ie8 - HTML, CSS
Как сделать несколько фонов с заданным расположением в ie8 ? вот такой: body { background-color: #FFF; ...

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

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

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

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

Как по имени файла получить количество дней его существования? - Bash
нужно ввести название файла в терминал и получить количество дней существования файла. #!/bin/bash echo vvedit nazvu ...

8
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 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
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?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
04.06.2014, 07:45 #4
Цитата Сообщение от rus_artur4ik Посмотреть сообщение
getResources().getIdentifier("bg" + (++index), "drawable", context.getPackageName()
Получает id ресурса bg1(bg2 и т.д.) из папки drawable Вашего пакета.
0
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 Вашего пакета.
А обращаться то к фону как???
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
05.06.2014, 09:54 #6
А фоны то как хранятся? В xml или изображениями?
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
05.06.2014, 10:33 #7
Java
1
rlMain.setBackground(getImage(this, 0)); //Поставит фон bg1
0
rus_artur4ik
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 31
10.06.2014, 15:28  [ТС] #8
Rube,
Изображениями.
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
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
11.06.2014, 09:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 09:42
Привет! Вот еще темы с ответами:

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

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

Как загружать несколько файлов сразу через QNetworkReply и QNetworkAccessManager - C++ Qt
Доброго времени суток. задача такая, нужно мне скачать сразу несколько файлов как я это делаю: QNetworkAccessManager* pmanager =...

Получение имени окна приложения по его дескриптору - C++ WinAPI
Подскажите пожалуйста как по дескриптору окна приложения узнать имя этого приложения HWND hwnd=GetActiveWindow();//получаем дескриптор...


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

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

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