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

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

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

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

22.10.2012, 18:59. Просмотров 895. Ответов 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 с такими параметрами?.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2012, 18:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ширина изображения возвращает 0 (Программирование Android):

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

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

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

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

Ширина EditText в символах - Программирование Android
Всем привет! Нужно установить ширину EditText в символах. В попытках найти ответ в гугле я наткнулся на атрибут ems. Когда я решил его...

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

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

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

Ширина изображения - HTML, CSS
Как сделать что бы изображение маштабировалось в зависимости от размера экрана? Вот ссылка http://france.web-prostor.ru/about.html Всем...

Ширина изображения фона - Web-дизайн
Всем доброго времени суток! Хочу на сайте разместить фоновую картинку, ширина которой больше 1400, на всю ее ширину. Разрешение моего...

Ширина и высота изображения, getimagesize() не работает - PHP
Нужно просто узнать ширину и высоту изображения. getimagesize($filePath) возвращает false. Ошибки на сервере отключены, поэтому о...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
23.10.2012, 19:28
Ответ Создать тему
Опции темы

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