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

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

Войти
Регистрация
Восстановить пароль
 
 
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
#1

Максимальный width, height объекта view - Программирование Android

09.02.2016, 14:33. Просмотров 469. Ответов 26
Метки нет (Все метки)

Здравствуйте, уже все перепробовал, нужно: каким-нибудь способом определить, есть ли картинка на картинке, т.е находиться ли одна картинка на второй, хочу попробовать нахождении по координатам картинки, но нужно узнать ее максимальный width и height
Как я пробовал:
Java
1
2
3
4
5
6
7
ImageView ll = (ImageView)findViewById(R.id.IDla);
TextView text = (TextView)findViewById(R.id.IDtext);
 
H = ll.getHeight();
W = ll.getWidth();
 
text.setText(""+ Math.max(H, W) + " | "+Math.min(H, W));
Вывод 0 | 0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2016, 14:33     Максимальный width, height объекта view
Посмотрите здесь:

Получить width и height картинки из ресурса - Программирование Android
Добрый день! Что то я уже запарился искать решение. А задача на вид элементарная: Есть cat - это id картинки из ресурса. Требуется...

RecyclerView фиксированый height - Программирование Android
Мне кажется много кто встречался с данной проблемой. у меня есть корзина, в ней RecyclerView с фиксированой высотой. (что бы там 3...

Background меняет height компонента - Программирование Android
Привет. У меня есть toolbar (из android.support.v7.widget.Toolbar). У него android:layout_height="wrap_content" Я ставлю на фон...

Android slide view - Программирование Android
Всем привет, недавно программирую под андройд, хочу сделать слайд менюшку в приложении. Использую библиотеку SlidingMenu, менюшку готовлю...

Программное добавление View - Программирование Android
Не могу разобраться: нужно программно прилепить н-ное количество вьюх. Делаю так: Dialog dialog = new Dialog(pd.getContext()); ...

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

Работа с классом View - Программирование Android
Здравствуйте форумчане, надеюсь все знают этот элемент View. Так вот не знаю как вернуться в начало(( Вроде и на гугле посмотрел и сам...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
09.02.2016, 14:51     Максимальный width, height объекта view #2
потому что в onCreate еще ничего нет на экране, если очень хочется делать это именно в onCreate
то можно подпереть вот так
Java
1
2
3
4
5
6
7
        final TextView text = (TextView) findViewById(R.id.text);
        text.post(new Runnable() {
            @Override
            public void run() {
                text.setText(text.getWidth() + " " + text.getHeight());
            }
        });
Добавлено через 45 секунд
ты полтора года на форуме, тут принято использовать теги для оформления кода
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
09.02.2016, 15:00  [ТС]     Максимальный width, height объекта view #3
Спасибо попробую

Добавлено через 6 минут
Паблито, а вы не знаете, как реализовать проверку нахождения элемента view на другом view
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
09.02.2016, 15:03     Максимальный width, height объекта view #4
Цитата Сообщение от ProGraf Посмотреть сообщение
как реализовать проверку нахождения элемента view на другом view
Для этого надо перейти к родительской ViewGroup, вычислить количество потомков и определить, который из них который (getChildAt).
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
09.02.2016, 15:06  [ТС]     Максимальный width, height объекта view #5
CoolMind, а можно подробнее, пожалуйста.
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
09.02.2016, 15:08     Максимальный width, height объекта view #6
drugoeView.findViewById(R.id.bla_bla)
ищет вью на другом вью, если оно есть - возврашает, иначе возвращает null
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
09.02.2016, 15:11  [ТС]     Максимальный width, height объекта view #7
Паблито,
Java
1
2
3
if(viewOne.findViewById(R.id.ViewTwo)){
 
}
Примерная проверка?
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
09.02.2016, 15:17     Максимальный width, height объекта view #8
if(viewOne.findViewById(R.id.ViewTwo) != null)
ищем вью2 во вью1
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
09.02.2016, 15:22     Максимальный width, height объекта view #9
Цитата Сообщение от ProGraf Посмотреть сообщение
а можно подробнее, пожалуйста.
(ViewGroup)view.getParent() - так можно перейти к родительской ViewGroup, например, FrameLayout. Или сразу можете отыскать её через findViewById.
Затем надо перейти к конкретным элементам, например, parent.getChildAt(0) или parent.getChildAt(1). Затем вычислить, который из них который, а уже по индексу (0 или 1) определить, который выше, а который ниже.
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
09.02.2016, 15:24  [ТС]     Максимальный width, height объекта view #10
Паблито, не выходит
Pablito
09.02.2016, 15:27
  #11

Не по теме:

он выше активист подключился, у него нервов поболее, пусть выясняет что там не выходит

ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
09.02.2016, 15:29  [ТС]     Максимальный width, height объекта view #12
Паблито, извините, щас покажу код проекта:

Java
1
2
3
4
5
6
7
cnt += 5;
        Button but2 = (Button)findViewById(R.id.IDbtn2); 
        but2.setY(cnt);
        if(but2.findViewById(R.id.IDbtn)!= null)
        {
        text2.setText("Yes");
        }
Текст не меняется на "Yes"
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
09.02.2016, 15:33     Максимальный width, height объекта view #13
but2.findViewById(R.id.IDbtn)
тут мы ищем кнопку IDbtn в кнопке but2
вместо but2 надо указывать вьюшку или лаяут где ищем
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
09.02.2016, 15:50  [ТС]     Максимальный width, height объекта view #14
Паблито, извините но не работает вот весь код:

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
25
26
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
 
public class MainActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    int cnt = 0;
    
    public void tap(View view){
    ImageView im = (ImageView)findViewById(R.id.IDim);
    TextView text = (TextView)findViewById(R.id.IDt);
    cnt += 5;
    im.setY(cnt);
        if(im.findViewById(R.id.IDbt) != null){
        text.setText("+");
        }
    }
}
Добавлено через 2 минуты
Паблито, я надеюсь на вашу помощь.
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
09.02.2016, 15:55     Максимальный width, height объекта view #15

Не по теме:

извиняться - это лишнее


для начала надо понять что и где надо найти
я так понял надо найти какую-то кнопку с id="IDbt"...где?
она есть в разметке активити, покажите разметку?
если не в активити, то где она эта кнопка находится?

да, лучше всего начать с показа разметки (файл main.xml), есть подозрение что там все печально
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
09.02.2016, 15:58     Максимальный width, height объекта view #16
ProGraf, вы плохо читаете.
Вам же сказано, что надо сначала перейти к родительской группе. Вы разметку покажите для начала.
А то так получается, что im.findViewById(R.id.IDbt) - это как будто внутри изображения есть текст. Такое невозможно. Надо сначала перейти к лэйауту, содержащему оба компонента. Наверное, у вас какой-нибудь RelativeLayout. Или просто наберите что-то типа ViewGroup layout = im.getParent(); Затем уже можете адресоваться к элементам: layout.findViewById(R.id.IDbt); Но судя по тому, что я вижу, и это не поможет, т.к. они у вас адресуются прямо: (TextView)findViewById(R.id.IDt).
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
09.02.2016, 15:59  [ТС]     Максимальный width, height объекта view #17
Паблито,
Работа кода должна выглядить так: При нажатии на кнопку смещается картинка, условие: если эта картинка переместилась на кнопку то текст сверху в левом углу меняется на "+".
Xml:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
 
    <ImageView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:src="@android:drawable/ic_delete"
        android:layout_centerHorizontal="true"
        android:id="@+id/IDim"/>
 
    <Button
        android:layout_height="wrap_content"
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_centerInParent="true"
        android:id="@+id/IDbt"
        android:onClick="tap"/>
 
    <TextView
        android:layout_height="wrap_content"
        android:text="Next?"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="wrap_content"
        android:id="@+id/IDt"/>
 
</RelativeLayout>
Код Activity:

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
25
26
27
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
 
public class MainActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    int cnt = 0;
    
    public void tap(View view){
    ImageView im = (ImageView)findViewById(R.id.IDim);
    Button but = (Button)findViewById(R.id.IDbt);
    TextView text = (TextView)findViewById(R.id.IDt);
    cnt += 5;
    im.setY(cnt);
        if(im.findViewById(R.id.IDbt) != null){
        text.setText("+");
        }
    }
}
Pablito
2455 / 1900 / 591
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
09.02.2016, 16:03     Максимальный width, height объекта view #18
кошмар какой-то
findViewById ищет наличие элемента в разметке, а не пересечение одного с другим

как брать координаты вьюшек я отписал еще в самом начале
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
09.02.2016, 16:05     Максимальный width, height объекта view #19
ProGraf, и зачем этот концерт с определением компонентов? Продолжайте адресоваться, как и раньше, через findViewById. Уберите вообще im.findViewById.
Определяйте положение углов изображения. Просто в коде прибавляйте к левому краю изображения его ширину, таким образом получите правую границу изображения. Это всё надо повешать на событие щелчка по кнопке. Затем проверяйте, наехал рисунок на кнопку или нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2016, 16:05     Максимальный width, height объекта view
Еще ссылки по теме:

Загрузка View-шек - Программирование Android
Имеется Fragment c ListView, в который загружается тяжелая информация (заполняется 4 ImageView, 4 TextView). Когда в Layout Drawer'e...

Различия View-компонентов - Программирование Android
EditTExt в первой строке добавлен на экран вручную. EditTExt во второй строке добавлен на экран программно. Они различаются по...

list view управление - Программирование Android
у меня есть лист вью на шаблоне одна надпись и три кнопки, вот вопрос как управлять то этими кнопка как обрабатывать (ЗЫ знаю как...

Библиотека View Injector - Программирование Android
Господа android разработчики. Хотел бы представить Вашему вниманию свою маленькую библиотеку для view injection. Честно говоря, надоело...

Отображение View по условиям - Программирование Android
Здравствуйте, вопрос такой, можно ли при разных условиях отображать или не отображать разные view с настройками в activity? Поясню,...


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

Или воспользуйтесь поиском по форуму:
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96
09.02.2016, 16:05  [ТС]     Максимальный width, height объекта view #20
CoolMind, извините но я не могу понять ваш способ, я его щас гуглил, но не понимаю.
Yandex
Объявления
09.02.2016, 16:05     Максимальный width, height объекта view
Ответ Создать тему
Опции темы

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