Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
#1

На счет ImageView - Программирование Android

28.08.2015, 12:20. Просмотров 314. Ответов 8
Метки нет (Все метки)

Ребят, очень важный вопрос: Предложим у меня есть две картинки у них есть свои ID, как написать проверку - "Есть ли выше одной картинки другая картинка", т.е если есть выше одной картинки картинка с определенным id то выполняться действие, буду очень благодарен за помощь, думаю код будет сложный.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2015, 12:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос На счет ImageView (Программирование Android):

Скопировать картинку из одной ImageView в другую ImageView
В ImageView поставлена картинка методом setImageResource. По нажатию на неё,...

ImageView
Подскажите как правильно выводить картинку из URL Вроде нашел какой то пример...

ImageView
Добрый день ! Делал проект с нуля, все как обычно, но при поиске id для...

ImageView
Добрый день. Вы не подскажите, как передать изображение из одного ImageView в...

Координаты ImageView
Всем привет, хочу попросить у вас помощи, проблема заключается в следующем: У...

Сохранение ImageView
Всем привет, У меня такой вопрос, есть код который сохраняет imageview в...

8
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,448
Завершенные тесты: 1
28.08.2015, 12:26 #2
что значит "выше"?
0
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
28.08.2015, 12:34  [ТС] #3
Выше, т.е если картинка будет выше стоять этой картинки, т.е
■ - Картинка 1
■ - Картинка 2
△ - Указатель вверх

Вот как на экране:





Если под картинкой 1 есть картинка 2 (с нужным id)
0
Pablito
28.08.2015, 12:43
  #4

Не по теме:

мой ответ - не лучший, так что сними отметку

0
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
28.08.2015, 12:46  [ТС] #5
Поможешь?
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
28.08.2015, 12:50 #6
Цитата Сообщение от Паблито Посмотреть сообщение
что значит "выше"?
Что значит ID картинки?
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,448
Завершенные тесты: 1
28.08.2015, 12:51 #7
у любого View есть метод getLocaationInWindow
Java
1
2
        int[] coord = new int[2];
        view.getLocationInWindow(coord);
после этого в coord[0] будет X координата вьюшки, а coord[1] - Y координата
размеры вьюшки можно запросить так
Java
1
2
int h = view.getHeight();
int w = view.getWidth();
так же можно узнать координаты и размер второй вьюшки

дальше геометрия, сам допишешь

Не по теме:

"выше" можно было трактовать минимум в двух вариантах

0
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
28.08.2015, 13:42  [ТС] #8
Вообще не понял как сделать :/

Добавлено через 41 минуту
А вы бы не могли написать полный код пожалуйста, буду очень благодарен, я только учусь.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
28.08.2015, 13:53 #9
Можно расширить класс ImageView и все свои изображение наследовать от него.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class MyImageView extends ImageView {
 
    public MyImageView(Context context) {
        super(context);
    }
 
    public MyImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
 
    public MyImageView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
 
    public boolean isHigherThan(View view){
        int[] thisLocation = new int[2];
        int[] viewLocation = new int[2];
        getLocationOnScreen(thisLocation);
        view.getLocationOnScreen(viewLocation);
 
        return thisLocation[1] > viewLocation[1];
    }
    
}
Потом вместо
Java
1
ImageView img = ...;
Нужно будет делать так:
Java
1
MyImageView img = ...;
Ну и использовать потом
Java
1
img.isHigherThan(view);//view - любая вьюшка, вернется true, если img выше view.

Или просто послать в метод:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public int getHigherView(List<View> viewList){
        int higherPoint = 0;
        int higherView = 0;
 
        for(int i = 0; i < viewList.size(); i++){
            int[] location = new int[2];
            viewList.get(i).getLocationOnScreen(location);
 
            if(location[1] > higherPoint){
                higherPoint = location[1];
                higherView = i;
            }
        }
 
        return higherView;
    }
список любых вьюшек. Вернет порядковый номер вьюшки, которая выше остальных.
0
28.08.2015, 13:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2015, 13:53
Привет! Вот еще темы с решениями:

Использование ImageView
Установил Андроид Студио. Пытаюсь вникнуть. Наткнулся на первую проблемку, уже...

Сохранить ImageView
Подскажите пожалуйста, пытаюсь наложить bitmap на bitmap из imageview и...

Кастомный ImageView
Прошу сильно не пинать, только учусь. Итак ,суть задачи: есть кастомный класс...

Взаимодействие с ImageView
Господа подскажите как сделать так, чтобы пользователь мог взаимодействовать...


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

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

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