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

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

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

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

18.02.2013, 17:53. Просмотров 6396. Ответов 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 крешит приложение с логами, вобще...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 18:30 #2
ставьте рамку как background.
sm100
2 / 2 / 0
Регистрация: 30.12.2012
Сообщений: 29
18.02.2013, 20:00  [ТС] #3
Спасибо за подсказку. Попробовал сделать вот так:
Java
1
2
3
4
5
6
7
    ImageView btn1 = new ImageView(this);
    btn1.setLayoutParams(LayoutParams1);
   InputStream in = getClass().getResourceAsStream("/res/raw/"+str+".png"); 
    Bitmap bmp = BitmapFactory.decodeStream(in);
    btn1.setImageBitmap(bmp);
 
    btn1.setBackgroundResource(R.raw._ramka);
Но, и в этом случае, если загружается изображение, то подложка стирается. А хорошо бы научиться складывать изображения. Например, на рамку сверху накладывать изображение так, чтобы оставалась рамка.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 20:12 #4
в последнем коде ничего стираться не должно.

Добавлено через 44 секунды
контент в отметили в имедже с рамкой?
или хотя бы сделали рамку больше чем изображение?

Добавлено через 3 минуты
http://habrahabr.ru/post/113623/
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
18.02.2013, 22:29 #5
вообщето в API есть уже готовое решение для вашей задачи, зовётся LayerDrawable кстати его же можно создать в xml а не из кода http://developer.android.com/guide/t...html#LayerList
настоятельно рекомендую
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 22:39 #6
если нужна, например, рамка, всегда юзается nine-patch, для него ни кода ни xml не нужно, в LayerList не указать с какого места должен начинаться контент и какая область рамки должна растягиваться.
хоть бы по моей ссылке перешли прежде чем такое писать.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
18.02.2013, 22:41 #7
Цитата Сообщение от V0v1k Посмотреть сообщение
LayerList не указать с какого места должен начинаться контент
а я знаю что можно, да что уж там,сам делал и из xml и из кода
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 22:42 #8
Цитата Сообщение от YAUHEN Посмотреть сообщение
а я знаю что можно, да что уж там,сам делал и из xml и из кода
подскажите как.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
18.02.2013, 22:48 #9
XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<[URL="http://developer.android.com/guide/topics/resources/drawable-resource.html#layerlist-element"]layer-list[/URL]
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <[URL="http://developer.android.com/guide/topics/resources/drawable-resource.html#layerlist-item-element"]item[/URL]
        android:drawable="@[package:]drawable/[I]drawable_resource[/I]"
        android:id="@[+][[I]package[/I]:]id/[I]resource_name[/I]"
        android:top="[I]dimension[/I]"
        android:right="[I]dimension[/I]"
        android:bottom="[I]dimension[/I]"
        android:left="[I]dimension[/I]" />
</layer-list>
android:top="dimension"
android:right="dimension"
android:bottom="dimension"
android:left="dimension"

вместо dimension подставь свой паддинг
из кода

Добавлено через 1 минуту
всё зависит от того какая рамка, если просто жырный stroke одного цвета поверх другого - то можно обойтись и так

Добавлено через 1 минуту
только когда будете создавать дроваблы из кода - не забывайте setBounds вызывать, без них не заведётся
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 22:51 #10
а как быть с адаптацией размеров рамки под размер контента? а с коректным растягиванием рамки?

Добавлено через 1 минуту
а как быть с банальной заменой адной рамки на другую? высчитывать новые размеры линейкой?

Добавлено через 1 минуту
мягко говоря hard code.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
18.02.2013, 22:55 #11
Цитата Сообщение от V0v1k Посмотреть сообщение
адптацие размеров рамки под размер контента
сетишь рамку в качестве бэкграунда вьюхе и ставишь паддинг


Цитата Сообщение от V0v1k Посмотреть сообщение
а с коректным растягиванием рамки
всё коректно растянется если это простейшая рамка (2 цвета)

если это не простая рамка - то конечно надо nine-patch

Цитата Сообщение от V0v1k Посмотреть сообщение
а как быть с банльной заменой адной рамки на другую
а в какхи случаях это необхадимо?

Добавлено через 2 минуты
Цитата Сообщение от V0v1k Посмотреть сообщение
мягко говоря hard code.
вовсе нет, я не считаю признаком плохого тона использовать xml вместо png там где это возможно
sm100
2 / 2 / 0
Регистрация: 30.12.2012
Сообщений: 29
18.02.2013, 23:03  [ТС] #12
Все понял. Фон нужно было сделать прозрачным у картинки для наложения.

Метод работает
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 23:05 #13
Цитата Сообщение от YAUHEN Посмотреть сообщение
сетишь рамку в качестве бэкграунда вьюхе и ставишь паддинг
ну вот уже и сами отказались от своей идеи.


Цитата Сообщение от YAUHEN Посмотреть сообщение
а в какхи случаях это необхадимо?
заказчик сказал заменить на воооон ту, голубенькую с закрутасами по углам)

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

Цитата Сообщение от V0v1k Посмотреть сообщение
заказчик сказал заменить на воооон ту, голубенькую с закрутасами по углам)
я оговорился, если рамка простая



Цитата Сообщение от V0v1k Посмотреть сообщение
которые могут и не совпасть
в каком случае и какие числа не совпадают?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
18.02.2013, 23:14 #15
Цитата Сообщение от YAUHEN Посмотреть сообщение
вообщето я имел ввиду сетить дровабл ранее полученый описанным мной путём
и как это поможет одному слою четко входить в рамки другого слоя?

Цитата Сообщение от YAUHEN Посмотреть сообщение
в каком случае и какие числа не совпадают?
android:top="dimension"
android:right="dimension"
android:bottom="dimension"
android:left="dimension"

Добавлено через 2 минуты
Цитата Сообщение от YAUHEN Посмотреть сообщение
я оговорился, если рамка простая
давайте не будем искать сложных решений для простых задач)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2013, 23:14
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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