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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 86
#1

Наложение изображений на кнопке из кода - Программирование Android

10.04.2013, 17:48. Просмотров 1401. Ответов 10
Метки нет (Все метки)

Други, подскажите начинающему. Как можно наложить на кнопку бэкграунд и иконку. Т.е. 2 изображения из кода. Кнопки создаются динамически при старте приложения. И нужно, чтобы в соответствии с определенным условием иконка на кнопках была нужная. Пролистал кучу сайтов и страниц форума. Самое близкое нашел задание background как фон кнопки(setBackgroundResourse(R.drawable.ИМЯ_КАРТИНКИ), и использование src изображения поверх бэкграунда. Но src возможно только из настроек в layout файле или другом xml, на сколько я понимаю.
Есть какие то идеи как можно реализовать наложение иконки на кнопку в условии if из кода при ее создании? Буду благодарен за ответы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 17:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Наложение изображений на кнопке из кода (Программирование Android):

Наложение изображений - Программирование Android
Подскажите пожалуйста, как наложить изображение на изображение. Пробую вот так: но последующая картинка стирает предыдущую. ImageView...

наложение изображений - C++ Builder
Необходимо сделать изображение с эффектом. Программа открывает изображение .bmp, по нажатию на кнопке "добавить молнию", поверх первой...

Наложение изображений - C++ Qt
Помогите пожалуйста с кодом.. нужно создать новую картинку 300х300 с белым фоном и поместить в центр исходное изображение размером допустим...

Наложение изображений - C#
нужно смешать несколько Bitmap с прозрачностью, этот алгоритм работает очень медленно (FullHD, 5 bitmap = 15-25 sec): public Bitmap...

Наложение изображений - PHP
Возник вопрос - мне в php скрипте нужно наложить одно изображение на другое. Оба изображения *.png и имеют часть прозрачного фона. Нашел...

Наложение изображений - HTML, CSS
Как лучше всего зделать етот елемент? У меня есть елементы которые отмечены на фото, как лучше всего ето реализовать?

10
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.04.2013, 18:51 #2
setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom)
Parameters
left Resource identifier of the left Drawable.
top Resource identifier of the top Drawable.
right Resource identifier of the right Drawable.
bottom Resource identifier of the bottom Drawable.
1
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 86
11.04.2013, 10:48  [ТС] #3
Это уже ближе к теме. =) Подскажите еще как сделать чтобы значение String (R.drawable.icon) - оно записано в xml фале которое парсится в программу, как string, можно было преобразовать в int(R.drawable.icon), чтобы программа поняла его.
Или сразу как то парсить его в int.
Добываю значение таким образом:
parser.getAttributeValue(null, "icon");
parser - это парсер.
"icon" - это значение в xml файле(равное например R.drawable.icon1, R.drawable.icon2...)

И второй небольшой вопрос. Как програмно сделать отступы от краев кнопки для этой иконки в коде?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.04.2013, 11:04 #4
resources.getIdentifier(String name, String defType, String defPackage)
Return a resource identifier for the given resource name.

setCompoundDrawablePadding(int)
0
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 86
11.04.2013, 12:01  [ТС] #5
Извените, нельзя ли поподробнее? Не получается.
Делаю так:
String icon = parser2.getAttributeValue(null, "icon"); //получаем из xml значение нужной строки(icon)=R.drawable.icon
resources.getIdentifier(String name, String defType, String defPackage); //как то сюда это надо прилепить
setCompoundDrawablesWithIntrinsicBounds(icon, 0, 0, 0);
Нужно сделать как то чтобы icon типа string попало в icon типа int в 3 строке. Причем со сдвигом(setCompoundDrawablePadding(int))

Добавлено через 7 минут
Если явно прописать btnNew.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon, 0, 0, 0); то иконка добавится на все кнопки, но вся эта конструкция в теле цикла и должны добавляться разные иконки с каждым циклом.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.04.2013, 13:53 #6
getIdentifier("icon", "drawable", context.getPackageName());
0
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 86
11.04.2013, 15:00  [ТС] #7
на контекст ругается.

Добавлено через 11 минут
setCompoundDrawablePadding(int) с каким типом данных работает? Drawable? Как сделать чтобы у R.drawable.icon на кнопке btnNew был сдвиг?
делаю
btnNew.setCompoundDrawablePadding(10);
не реагирует.всеравно приклеена к левому углу.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.04.2013, 16:25 #8
Цитата Сообщение от Termit___ Посмотреть сообщение
на контекст ругается.
сделайте чтобы не ругалось.


Цитата Сообщение от Termit___ Посмотреть сообщение
setCompoundDrawablePadding(int) с каким типом данных работает? Drawable? Как сделать чтобы у R.drawable.icon на кнопке btnNew был сдвиг?
делаю
btnNew.setCompoundDrawablePadding(10);
не реагирует.всеравно приклеена к левому углу.
смотрите документацию
0
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 86
11.04.2013, 17:54  [ТС] #9
Все. Победил я эту иконку очень просто:
btnNew.setPadding(10,9,8,7);
До этого пытался не в том месте это воткнуть, вот и не получалось.
Никакого мазахизма с getIdentifier не понадобилось.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.04.2013, 18:42 #10
да, сори, тот метод что я написал задает расстояние между картинкой и текстом, а setPadding задает общий падинг для кнопки.
0
Termit___
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 86
16.04.2013, 15:57  [ТС] #11
Еще вопрос в тему: как изменить размер вставляемой картнки?
0
16.04.2013, 15:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2013, 15:57
Привет! Вот еще темы с ответами:

Наложение изображений - C# WPF
Собственно есть два изображения. Одно png и второе png. Нужно первое наложить на второе и вывести в Image. Но гугл результатов не...

Наложение изображений - C++/CLI WinForms
Доброго времени суток! Столкнулся с одно проблемой и не знаю как лучше поступить. Есть PictureBox, в него я рисую картинку, она должны быть...

Генерирование и наложение изображений - PHP
Добрый день! В РНР существует много функций для работы с изображениями, однако я не нашёл необходимый инструментарий для своей задачи....

Наложение изображений на фотографию - Objective-C
Привет всем! Есть какие-нибудь хорошие решения в сети, для вот такой задачи: наложение изображения на фотографию(ну например на...


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

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

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