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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.95
zesen
122 / 85 / 1
Регистрация: 17.10.2010
Сообщений: 436
#1

Как принудительно выбрать drawable - Android

15.12.2011, 13:22. Просмотров 2436. Ответов 7
Метки нет (Все метки)

Вопрос в следующем, есть 4 drawable: drawable, drawable-hdpi, drawable-ldpi, drawable-mdpi
В зависимости от разрешения экрана Android сам подкидывает нужные картинки из определенного drawable, а мне нужно при повороте устройства, что бы автоматически, не зависимо от разрешения экрана выбиралось несколько картинок, например, из drawable-mdpi всегда, можно ли это как-нибудь зафиксировать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
18.12.2011, 17:44     Как принудительно выбрать drawable #2
Закинуть в drawable нужную картинку и растянуть её на весь экран.
Java
1
2
3
4
5
6
7
8
9
10
11
12
int cWidth = 1;
int cHeight = 1;
 
private Bitmap bg; //и где-то ниже определяешь свою картинку
 
public void size(int width, int height) 
{
       cWidth= width;
       cHeight = height;
 
       bg = Bitmap.createScaledBitmap(bg, width, height, true);
}
Функция подстроит под твой экран картинку, растянит
zesen
122 / 85 / 1
Регистрация: 17.10.2010
Сообщений: 436
19.12.2011, 12:20  [ТС]     Как принудительно выбрать drawable #3
dajver, спасибо не немного не то.
Суть в том, что у меня есть сверху пять иконок, а подними рабочая область, нажимая на иконки меняется рабочая область(другой Активити)
когда я переворачиваю гаджет горизонтально, иконки становятся вертикально слева, а рабочая справа. Иконки с разным разрешением присутствуют в папках drawable: drawable-hdpi, drawable-ldpi, drawable-mdpi и в зависимости от разрешения устройства загружаются из определенной папки автоматически, в портретной ориентации все ОК, а в горизонтальной они накладываются друг на друга... Если везде в горизонтальной ориентации использовать иконки с самым малым расширением все ок, но тогда нужно создавать еще по одной копии картинок, переименовывать, делать проверку на ориентацию экрана, а мне нужно жестко использовать имеющиеся во всех разрешениях горизонтально, самые маленькие
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
20.12.2011, 16:50     Как принудительно выбрать drawable #4
Так сделать TabLayout, он тебе обеспечит работу всех областей, и при смене ориентации будет подстраиваться под экран. Вот тут я написал туториал как - Свободнохабр
zesen
122 / 85 / 1
Регистрация: 17.10.2010
Сообщений: 436
21.12.2011, 12:15  [ТС]     Как принудительно выбрать drawable #5
dajver, спасибо! Я решил проблему скинув нужные картинки в drawable, а из остальных папок по удалял. Сейчас масштабируется все как надо!
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
21.12.2011, 21:31     Как принудительно выбрать drawable #6
Цитата Сообщение от zesen Посмотреть сообщение
dajver, спасибо! Я решил проблему скинув нужные картинки в drawable, а из остальных папок по удалял. Сейчас масштабируется все как надо!
Не правильно я подсказывал))) Не понял я проблемы.
zesen
122 / 85 / 1
Регистрация: 17.10.2010
Сообщений: 436
21.12.2011, 23:56  [ТС]     Как принудительно выбрать drawable #7
dajver,
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2012, 08:35     Как принудительно выбрать drawable
Еще ссылки по теме:

Загрузить картинку в Drawable Android
Создание Drawable shape, rectange Android
Работа с Drawable Android
Android Icon в Drawable возможно?
Android Drawable

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

Или воспользуйтесь поиском по форуму:
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 293
27.07.2012, 08:35     Как принудительно выбрать drawable #8
Цитата Сообщение от dajver Посмотреть сообщение
Закинуть в drawable нужную картинку и растянуть её на весь экран.
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
int cWidth = 1;
int cHeight = 1;
private Bitmap bg; //и где-то ниже определяешь свою картинку
public void size(int width, int height)
{
cWidth= width;
cHeight = height;
bg = Bitmap.createScaledBitmap(bg, width, height, true);
}
Функция подстроит под твой экран картинку, растянит
Спасибо, а можно как ни будь получить высоту и ширину дисплея в зависимости от разрешения экрана телефона (например 320*240 или 480*320)? Что нужно взять в качестве width и height этого Bitmap.createScaledBitmap(bg, width, height, true); чтобы он растягивал или сжимал изображение под разрешение экрана? Можно ли сделать что -то подобное
Java
1
2
3
// получаем ширину и высоту дисплея
        int w = this.getWindowManager().getDefaultDisplay().getWidth();
        int h = this.getWindowManager().getDefaultDisplay().getHeight();
или у Bitmap нет таких методов?
здесь есть пример, но там геморойная тема.

Добавлено через 12 часов 2 минуты
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
int w = this.getWindowManager().getDefaultDisplay().getWidth(); int h = this.getWindowManager().getDefaultDisplay().getHeight();
имеется ввиду
Java
1
2
Activity.getWindowManager().getDefaultDisplay().getHeight();
Activity.getWindowManager().getDefaultDisplay().getWidth();
Yandex
Объявления
27.07.2012, 08:35     Как принудительно выбрать drawable
Ответ Создать тему
Опции темы

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