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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.86
sm100
2 / 2 / 0
Регистрация: 30.12.2012
Сообщений: 29
#1

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

18.02.2013, 17:53. Просмотров 6399. Ответов 45
Метки нет (Все метки)

Подскажите пожалуйста, как наложить изображение на изображение. Пробую вот так: но последующая картинка стирает предыдущую.
Java
1
2
3
4
5
6
7
8
9
10
11
12
ImageView btn1 = new ImageView(this);
    btn1.setLayoutParams(LayoutParams1);
 
    InputStream in2 = getClass().getResourceAsStream("/res/raw/_ramka.png"); 
    Bitmap bmp2 = BitmapFactory.decodeStream(in2);
    btn1.setImageLevel(2);
    btn1.setImageBitmap(bmp2);
    
    InputStream in = getClass().getResourceAsStream("/res/raw/"+str+".png"); 
    Bitmap bmp = BitmapFactory.decodeStream(in);
    btn1.setImageLevel(1);
    btn1.setImageBitmap(bmp);
Например, в одном файле хранится рамка, а в другом картинка....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2013, 17:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наложение изображений (Программирование Android):

Наложение изображений на кнопке из кода - Программирование Android
Други, подскажите начинающему. Как можно наложить на кнопку бэкграунд и иконку. Т.е. 2 изображения из кода. Кнопки создаются динамически...

Наложение на ScrollView - Программирование Android
Добрый день. Вот такая проблема, у меня сверху ScrollView лежит еще один блок LinearLayout. Как сделать чтобы в этих блоках...

Наложение элементов интерфейса - Программирование Android
Вопрос вот в чем: можно ли расположить элементы интерфейса, чтобы их области пересекались? Например можно ли расположить пару кнопок...

ActionBar Tabs наложение вкладок - Программирование Android
Здравствуйте! Вот мой листенер на табы: package com.contedevel.timetable; import android.app.ActionBar.Tab; import...

OpenGL наложение текстуры, падает приложение - Программирование Android
после того как выполняю gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, uvCoordsBuffer);, метод drawElements крешит приложение с логами, вобще...

Просмотр изображений - Программирование Android
Пытаюсь сделать просмотр изображений, но не знаю с чего начать) Суть такая: на флешке есть папки с изображениями (sdcard/images1,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
18.02.2013, 23:15 #16
Цитата Сообщение от V0v1k Посмотреть сообщение
и как это поможет одному слою четко входить в рамки другого слоя?
дроваблом является лэйр дровабл который вы описали в хмл или из кода так что там уже всё наложено



Цитата Сообщение от V0v1k Посмотреть сообщение
android:top="dimension" android:right="dimension" android:bottom="dimension" android:left="dimension"
и что может не совпасть?

Цитата Сообщение от V0v1k Посмотреть сообщение
давайте не будем искать сложных решений для простых задач)
для меня и то и другое - просто
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
18.02.2013, 23:17 #17
Полностью согласен с V0v1k. 9 patch - наше все. После того как с десяток приложений с кучей экранов сверстаете - поймете. И память экономят очень, кстати. А про наложение изображений - тут вариантов куча. Самый практичный V0v1k показал - задник - на бекграунд, переднее изображение на src. Можно еще каждое изображение сделать отдельным ImageView и разместить одно над другим во FrameLayout или RelativeLayout. Не забываем регулировать размеры изображений, отступы и предусматривать прозрачные фоны в верхних изображениях
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 23:25 #18
Цитата Сообщение от YAUHEN Посмотреть сообщение
и что может не совпасть?
контент. на одном девайсе будет налезать на рамку, на другом отставать от рамки например.


Цитата Сообщение от YAUHEN Посмотреть сообщение
для меня и то и другое - просто
ну да, поставить пару точек в nine-patch то же самое что писать xml-ки и хардкодить размеры, расчитывать их линейкой и перерасчитывать при изменении контента или рамки.

Добавлено через 1 минуту
Цитата Сообщение от kvaka Посмотреть сообщение
После того как с десяток приложений с кучей экранов сверстаете - поймете.
вот именно, в нем говорит нехватка опыта)

Добавлено через 26 секунд
а еще встретит заказчика который будет дизайн менять каждую неделю....

Добавлено через 1 минуту
Цитата Сообщение от YAUHEN Посмотреть сообщение
я оговорился, если рамка простая
ладно, скажу по другому, лучше использовать более универсальный и устойчивый к изменениям метод...
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
18.02.2013, 23:31 #19
Цитата Сообщение от V0v1k Посмотреть сообщение
контент. на одном девайсе будет налезать на рамку, на другом отставать от рамки например.
если задать дименшны в лэйер дровабле через dp ссылкой на ресурсы дименшнов и задать такой же паддинг во вьюшке которая будет в качестве бэкграунда держать ваш дровабл то ничего вылазить и налазить не будет, конечно если использовать px - так не получится. но думаю не стоит вам более опытнм обьяснять почему люди используют dp вместо px раз уж вы начали говорить про опыт.

Цитата Сообщение от V0v1k Посмотреть сообщение
а еще встретит заказчика который будет дизайн менять каждую неделю...
я не буду использовать nine-patch там где это избыточно.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 23:42 #20
Цитата Сообщение от YAUHEN Посмотреть сообщение
я не буду использовать nine-patch там где это избыточно.
избыточность - это написание xml-лок там где они не нужны.

Добавлено через 2 минуты
Цитата Сообщение от YAUHEN Посмотреть сообщение
если задать дименшны в лэйер дровабле через dp ссылкой на ресурсы дименшнов и задать такой же паддинг во вьюшке которая будет в качестве бэкграунда держать ваш дровабл то ничего вылазить и налазить не будет
ага, будет прямо поверх рамки (закрывать рамку)

Добавлено через 59 секунд
или что вы имели ввиду?
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
18.02.2013, 23:43 #21
Цитата Сообщение от V0v1k Посмотреть сообщение
минутку, вы не падинг в дравейбле задаете а крайние точки.
вот если бы вы внимательно почитали про layer-list то так бы не считали

а когда перепробуете в своих проектах все возможные типы дроваблов - тогда будете мне про опыт рассказывать
PS я сам ещё не все испробовал но уже вижу что у меня кругозор пошире чем у некоторых в этом направлении
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 23:49 #22
есть слой рамки, есть слой картинки, какие вы значения в дп зададите что бы слой рисунка заканчивался четко где начинается рамка(не слой а сама рамка).

Добавлено через 48 секунд
Цитата Сообщение от YAUHEN Посмотреть сообщение
вот если бы вы внимательно почитали про layer-list то так бы не считали
f5 юзайте, я уже прочитал и удали это с своего сообщения.

Добавлено через 49 секунд
+ деформация самой рамки при сайзинге.

Добавлено через 3 минуты
или просто слой рамки, какие укажите падинги чтобы внутренние View начинались там, где рамка заканчивается.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
18.02.2013, 23:50 #23
я уже утомился писать, вот посмотри пример простой рамки в виде тени всё ровно ничего налазить не будет, засетил этот бкграунд кнопке поставил ей паддинг нормальный и всё будет ровно
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
18.02.2013, 23:51 #24
Если не использовать 9patch для рамок-бекграундов, у которых, скажем, скругленные углы, то при различных размерах компонента по-любому будут искажения или изменения размеров самих углов. Допустим будет 2 компонента на одном экране, выполненных в одном дизайне, один узкий, другой широкий, длина - одна. Ну и как тут без 9patch обойтись или 2 бека рисовать будете? И, кстати для draw9patch паддинги выставлять нет необходимости.
sm100
2 / 2 / 0
Регистрация: 30.12.2012
Сообщений: 29
18.02.2013, 23:52  [ТС] #25
Интересно, а можно и как бы автоматическую рамку нарисовать в подложке со спрямленными углами (средствами самого eclipse). А не загружать ее из внешнего файла. Если возможно, то подскажите куда копать.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 23:55 #26
Цитата Сообщение от YAUHEN Посмотреть сообщение
поставил ей паддинг нормальный
то есть ваш ответ ставить паддинг с запасом?)
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
18.02.2013, 23:56 #27
Цитата Сообщение от YAUHEN Посмотреть сообщение
я уже утомился писать, вот посмотри пример простой рамки в виде тени всё ровно ничего налазить не будет, засетил этот бкграунд кнопке поставил ей паддинг нормальный и всё будет ровно
Данный пример не применим к этой теме, т. к. в качестве ресурса используется отрисовываемый программно объект, а мы обсуждаем использование ресурсов-изображений. Программно далеко не все можно нарисовать и не всегда это проще. А так - да, конечно, отрисовываемые программно ресурсы очень хорошо экономят память и вообще мощная штука.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 23:57 #28
YAUHEN, так и говорите что ваше решение только для shape подходит, о котором автор и не заикался...

Добавлено через 40 секунд
автор именно изображение использует, речь шла о них, а не о shape где толщина рамки четко в дп может быть задана...
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
19.02.2013, 00:01 #29
Цитата Сообщение от V0v1k Посмотреть сообщение
то есть ваш ответ ставить паддинг с запасом?)
ставите так как вам надо, точно так же когда создаёте nine-patch


Цитата Сообщение от kvaka Посмотреть сообщение
Данный пример не применим к этой теме, т. к. в качестве ресурса используется отрисовываемый программно объект, а мы обсуждаем использование ресурсов-изображений.
layer-list может использовать в качестве лэеров дроваблы которыми могут быть как и другие хмл так и png

Добавлено через 1 минуту
Цитата Сообщение от V0v1k Посмотреть сообщение
о котором автор и не заикался...
Цитата Сообщение от sm100 Посмотреть сообщение
Интересно, а можно и как бы автоматическую рамку нарисовать в подложке со спрямленными углами (средствами самого eclipse). А не загружать ее из внешнего файла. Если возможно, то подскажите куда копать.
oh you
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.02.2013, 00:03 #30
Цитата Сообщение от YAUHEN Посмотреть сообщение
layer-list может использовать в качестве лэеров дроваблы которыми могут быть как и другие хмл так и png
ну вот вы запхали png у которого толщина рамки 12 пикселей. какой падинг вы выставите для контента?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2013, 00:03
Привет! Вот еще темы с ответами:

Кэширование изображений - Программирование Android
Добрый День Ув. Программисты. Приложение нуждается в Кэшировании изображений, загруженных с сервера. Вопрос: Как осуществить? ...

Загрузка изображений - Программирование Android
Здравствуйте. Есть база изображений, например на web сервере, хостинге или соц сети. Задумка проста. Ни каких меню и кнопок, только...

Динамическое отображение изображений - Программирование Android
Помогите, а то я в ступоре. Вообщем какова задача: Сервер возвращает json с урлами изображений. Я их заганяю в arraylist. Есть адаптер...

Загрузка изображений на сервер - Программирование Android
Здравствуйте. Пытаюсь загрузить изображение на свой сервер в интернете. Нашел вот такой пример: import java.io.DataInputStream; import...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.02.2013, 00:03
Ответ Создать тему
Опции темы

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