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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.62
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
#1

Путь к файлу и графические ресурсы - Android

07.07.2012, 02:06. Просмотров 3559. Ответов 7
Метки нет (Все метки)

Понимаю, что вопрос детский, но тем не менее...
Есть строковая переменная, содержащая название файла, например:
Java
1
String fileName="picture"
В папке res\drawable приложения лежит мой файл picture.png

Теперь задача - нужно установить этот файл в качестве картинки для ImageView

Пробовал следующим образом:
Java
1
Drawable picture=Drawable.createFromPath("res/drawable/picture.png");
Не ругается, но и не происходит ничего. Я не так задал путь?
И еще вопрос: изображение это будет масштабироваться. Какой есть способ, исходя из изложенных данных, чтобы поменьше израсходовать память?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.07.2012, 03:01     Путь к файлу и графические ресурсы #2
imageView.setImageResource(R.drawable.picture);

Добавлено через 8 минут
Масштабирование:
android:scaleType="scaleType"
imageView.setScaleType (ImageView.ScaleType scaleType)
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
07.07.2012, 03:16  [ТС]     Путь к файлу и графические ресурсы #3
Нет, с
Java
1
ImageView.setImageResource(R.drawable.picture);
все понятно. Суть в том, что я беру строковое название картинки из XML
и мне надо эту строку либо в Drawable, либо в ресурс, либо во что там угодно, только бы она картинкой стала в итоге.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.07.2012, 03:28     Путь к файлу и графические ресурсы #4
Java
1
2
3
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("picture", R.drawable.picture);
imageView.setImageResource(map.get("picture"));
Добавлено через 2 минуты
Попробуй так:
"android.resource://[package]/[res type]/[res name]"
Java
1
String path = "android.resource://" + getPackageName() + "/drawable/" + fileName;
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
08.07.2012, 00:28  [ТС]     Путь к файлу и графические ресурсы #5
Нет, не видит...
Вот надо ж какой глупый затык!
т. е., получается, я знаю как называется файл, знаю где он лежит, но применить его не могу.
Может можно как-то строковое значение "R.drawable.picture" переделать в int для указания ресурса... ((
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
08.07.2012, 01:37     Путь к файлу и графические ресурсы #6
Да, почитайте про рефлексию.

Добавлено через 3 минуты
http://www.quizful.net/post/java-reflection-api

Добавлено через 37 минут
О, у меня вот так получилось:
Java
1
imageView.setImageResource(getResources().getIdentifier(fileName, "drawable", getPackageName()));
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
08.07.2012, 02:17  [ТС]     Путь к файлу и графические ресурсы #7
Респект!
Заработало. Это ж надо было так усложнить такую естественную, вроде, вещь!
Спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2012, 11:54     Путь к файлу и графические ресурсы
Еще ссылки по теме:

Android Литература и ресурсы по Android UI UX
Android Ресурсы android studio
Android Узнать абсолютный путь к файлу
Работа с txt файлами в Android. Путь к файлу Android
Android Как из data.getData() получить путь к файлу?

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

Или воспользуйтесь поиском по форуму:
Rebelx
3 / 3 / 0
Регистрация: 13.10.2009
Сообщений: 40
12.07.2012, 11:54     Путь к файлу и графические ресурсы #8
я так делал:
Java
1
2
3
4
5
6
7
            try {
                InputStream is = getAssets().open("img/" + mGameState.PictureNameSmall);
                Drawable d = Drawable.createFromStream(is, mGameState.PictureNameSmall);
                imageViewSmall.setImageDrawable(d);
            } catch (IOException e) {
                Log.e(toString(), "Ошибка открытия файла: " + e.getMessage());
            }
картинки только не в drawable, а в assets/img/
Yandex
Объявления
12.07.2012, 11:54     Путь к файлу и графические ресурсы
Ответ Создать тему
Опции темы

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