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

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

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

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

09.02.2016, 14:33. Просмотров 445. Ответов 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
Посмотрите здесь:

Android XML vs View
Отрисовка View Android
Android Тип view
Скопировать view Android
Public void onClick(View view) Android
Движение View Android
View во фрагментах Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 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
Сообщений: 92
09.02.2016, 15:00  [ТС]     Максимальный width, height объекта view #3
Спасибо попробую

Добавлено через 6 минут
Паблито, а вы не знаете, как реализовать проверку нахождения элемента view на другом view
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
09.02.2016, 15:03     Максимальный width, height объекта view #4
Цитата Сообщение от ProGraf Посмотреть сообщение
как реализовать проверку нахождения элемента view на другом view
Для этого надо перейти к родительской ViewGroup, вычислить количество потомков и определить, который из них который (getChildAt).
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 92
09.02.2016, 15:06  [ТС]     Максимальный width, height объекта view #5
CoolMind, а можно подробнее, пожалуйста.
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 1
09.02.2016, 15:08     Максимальный width, height объекта view #6
drugoeView.findViewById(R.id.bla_bla)
ищет вью на другом вью, если оно есть - возврашает, иначе возвращает null
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 92
09.02.2016, 15:11  [ТС]     Максимальный width, height объекта view #7
Паблито,
Java
1
2
3
if(viewOne.findViewById(R.id.ViewTwo)){
 
}
Примерная проверка?
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 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,723
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
Сообщений: 92
09.02.2016, 15:24  [ТС]     Максимальный width, height объекта view #10
Паблито, не выходит
Паблито
09.02.2016, 15:27
  #11

Не по теме:

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

ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 92
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"
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 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
Сообщений: 92
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 минуты
Паблито, я надеюсь на вашу помощь.
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 1
09.02.2016, 15:55     Максимальный width, height объекта view #15

Не по теме:

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


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

да, лучше всего начать с показа разметки (файл main.xml), есть подозрение что там все печально
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
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
Сообщений: 92
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("+");
        }
    }
}
Паблито
2063 / 1805 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 1
09.02.2016, 16:03     Максимальный width, height объекта view #18
кошмар какой-то
findViewById ищет наличие элемента в разметке, а не пересечение одного с другим

как брать координаты вьюшек я отписал еще в самом начале
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
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
Еще ссылки по теме:

Android Получить width и height картинки из ресурса
WebView - Height Android
Background меняет height компонента Android
Android Сериализация View
Android Красивые View

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

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

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