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

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

Войти
Регистрация
Восстановить пароль
 
psinetron
8 / 8 / 2
Регистрация: 24.01.2012
Сообщений: 59
#1

Ширина изображения возвращает 0 - Программирование Android

22.10.2012, 18:59. Просмотров 889. Ответов 7
Метки нет (Все метки)

Ошибся в теме - не ширину нужно узнать а высоту. но суть та же.
Почему переменная возвращает 0, либо -2?
Java
1
int razmhe = (int) findViewById(R.id.televizorimg).getMeasuredHeight();
Как получить высоту картинки?

изображение размещаю так:
XML
1
2
3
4
5
6
7
 <ImageView
        android:id="@+id/img1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/tr" />
Добавлено через 45 минут
Пробовал так же такой вариант кода:
Java
1
2
        ImageView blah = (ImageView) findViewById(R.id.televizorimg);
        int razmhe = (int)blah.getDrawable().getIntrinsicHeight();
и на планшетнике и на телефоне показывается один и тот же размер. (а размеры экранов разные).
XML
1
2
3
4
5
6
7
8
<ImageView
        android:id="@+id/televizorimg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:scaleType="fitCenter"
        android:src="@drawable/televisor" />
Как получить высоту изображения в imageView с такими параметрами?.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2012, 18:59     Ширина изображения возвращает 0
Посмотрите здесь:

Что за OBJ вместо изображения возвращает ImageGetter? - Программирование Android
Пользуюсь ImageGetter'ом, чтобы добавить вместо тегов img изображения в EditText в виде картинок, но дальше мне нужно упаковать это все в...

Ширина элемента - Программирование Android
Здравствуйте! Только начал осваивать Android:) Возник вопрос - если у нас есть 2 элемента с одинаковым weight и wrap_content. Они находятся...

GridLayout, ширина колонки - Программирование Android
Есть GridLayout и 5 TextView(в одной колонке, на разных строках). Как можно сделать все TextView одинаковой ширины(не указывая явно...

Высота и ширина экрана в dp - Программирование Android
Всем привет! Изучая Bottom navigation наткнулся на то, что высота задана в dp....

Высота/ширина динамически создаваемого элемента - Программирование Android
Внутри таблицы создаю ImageButton и пытаюсь установить у нее высоту и ширину. //создаем таблицу TableLayout tableLayout =...

Ширина TextView в зависимости от наполнения его текстом - Программирование Android
Есть виджет. На нем TextView. В нем строки разделенные символом новой строки. Пока, я чисто по кол-ву символов определяю сколько уместилось...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.10.2012, 20:31     Ширина изображения возвращает 0 #2
Java
1
2
3
4
5
imageView.post(new Runnable(){
    public void run() {
          int height = blah.getHeight();
    }
});
d_romka
0 / 0 / 0
Регистрация: 15.09.2012
Сообщений: 5
23.10.2012, 04:40     Ширина изображения возвращает 0 #3
Узнавать значение не в методе OnCreate.
psinetron
8 / 8 / 2
Регистрация: 24.01.2012
Сообщений: 59
23.10.2012, 18:31  [ТС]     Ширина изображения возвращает 0 #4
V0v1k, что в вашем случае имеется в виду под 'imageView'?
d_romka, если не в OnCreate, то где?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2012, 18:39     Ширина изображения возвращает 0 #5
Цитата Сообщение от psinetron Посмотреть сообщение
V0v1k, что в вашем случае имеется в виду под 'imageView'?
blah....
psinetron
8 / 8 / 2
Регистрация: 24.01.2012
Сообщений: 59
23.10.2012, 18:55  [ТС]     Ширина изображения возвращает 0 #6
V0v1k, Вроде работает корректно ) Спасибо. Но теперь мучает вопрос - а почему в методе onStart так же не высчитывается правильная высота imageView? Пробовал коды из своего первого поста перекидывать на onStart - толку нуль.
d_romka
0 / 0 / 0
Регистрация: 15.09.2012
Сообщений: 5
23.10.2012, 19:00     Ширина изображения возвращает 0 #7
Цитата Сообщение от psinetron Посмотреть сообщение
d_romka, если не в OnCreate, то где?
Например, при первом использовании. Или отсрочте по таймеру/Handle/др. (Пример V0v1k срабатывает именно после прорисовки View). В OnCreate фактически андроид еще не успевает прорисовать размеры картинки/вывести ее (походу этим занят отдельный поток, или, по крайней мере, так кажется), а Вы уже их запрашиваете.
Вообще, методы в андроид работают несовсем похоже чем в других системах. попробуйте, например спрашивать размеры и в OnCreate и, к примеру, по нажатию на какую-нибудь кнопку. сравните результаты.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2012, 19:28     Ширина изображения возвращает 0
Еще ссылки по теме:

Функция возвращает false - Программирование Android
Смотрю через Debug, после return true в области try переходит на return false в catch (при этом пропуская ERROR = false;ERROR_TEXT =...

GetIdentifier всегда возвращает 0 - Программирование Android
Здравствуйте, хочу сменить изображение у imageView, для этого нужно найти id ресурса. Проблема в том, что getIdentifier возвращает...

FindViewByID возвращает Null - Программирование Android
День добрый. Я в разработке андроида новичек, и застрял можно сказать в самом начале. Имеется проект типа hello world Один...

Запрос к БД возвращает некорректный результат - Программирование Android
В готовую БД пытаюсь вставлять записи из файла, который лежит в res/raw. Вот мой код private void updateRusLakTable(InputStream in)...


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

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2012, 19:28     Ширина изображения возвращает 0 #8
верно, размеры определяются перед прорисовкой, до это получаешь, если не ошибаюсь, 0 = размер задан в dp/px, -1 = FILL_PARENT = MATCH_PARENT, -2 = WRAP_CONTENT
Yandex
Объявления
23.10.2012, 19:28     Ширина изображения возвращает 0
Ответ Создать тему
Опции темы

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