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

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

Восстановить пароль Регистрация
 
psinetron
 Аватар для psinetron
8 / 8 / 2
Регистрация: 24.01.2012
Сообщений: 59
22.10.2012, 18:59     Ширина изображения возвращает 0 #1
Ошибся в теме - не ширину нужно узнать а высоту. но суть та же.
Почему переменная возвращает 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 с такими параметрами?.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 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
 Аватар для psinetron
8 / 8 / 2
Регистрация: 24.01.2012
Сообщений: 59
23.10.2012, 18:31  [ТС]     Ширина изображения возвращает 0 #4
V0v1k, что в вашем случае имеется в виду под 'imageView'?
d_romka, если не в OnCreate, то где?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2012, 18:39     Ширина изображения возвращает 0 #5
Цитата Сообщение от psinetron Посмотреть сообщение
V0v1k, что в вашем случае имеется в виду под 'imageView'?
blah....
psinetron
 Аватар для 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
Еще ссылки по теме:

BitmapFactory.decodeFile всегда возвращает null Android
Android Что за OBJ вместо изображения возвращает ImageGetter?
Функция возвращает false Android
<string> в XML возвращает INT в activity_main Android
Запрос к БД возвращает некорректный результат Android

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

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 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
Ответ Создать тему
Опции темы

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