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

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

Войти
Регистрация
Восстановить пароль
 
Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 300
Завершенные тесты: 1
#1

Изменение размера W и H в layout - Программирование Android

03.12.2015, 17:14. Просмотров 255. Ответов 3
Метки нет (Все метки)

Добрый вечер!
Возник вот какой вопрос.
Создаём элементы:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="844px"
    android:layout_height="1061px"
    android:background="#77acff"
    tools:context=".MainActivity"
    android:id="@+id/rl"
>
 
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/img"
        android:background="#ff9b47"
        android:src="@drawable/n39" />
 
</RelativeLayout>
Исходный размер изображения - 844 х 1061 рх.
Проблема заключается в том, что не понятно как выставлять размер RelativeLayout (точнее изменять размеры), чтобы на любых экранах картинка смотрелась одинакового.
Дело вот в чём: сделали мы подгонку под xhdpi, где density = 2, отлично. т.е. 1688 х 2122 рх вышел у RelativeLayout, но как изменять для других экранов? (ldpi, mdpi, hdpi).
Просто для экономии места хотелось бы не делать 4хN картинок, потому что картинок будет очень много для каждого экрана.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2015, 17:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменение размера W и H в layout (Программирование Android):

Layout изменение высоты - Программирование Android
Здрасте) У меня есть два layout'а, один под другим. На нижнем есть кнопка. Как сделать так чтобы при нажатие кнопки или при еще...

Изменение цвета при клике по layout - Программирование Android
Мне нужно было чтобы при клике по лэйауту у меня менялся его цвет,а потом все возвращалось в исходное состояние,но почему то не...

Изменение background layout 'а сторонней Activity - Программирование Android
При нажатии на кнопку должен меняться background некоторых layout'ов, которые находятся в других Activity. public class...

Анимированный дизайн смены Layout или просто выдвигаемый layout - Программирование Android
Ну, думаю тут и так всё понятно. Я просто не знаю, какие ключевые слова вводить в гугл, всё что попадается это Drawer А мне нужнен просто...

At android.widget.LinearLayout.setChildFrame Layout в Layout-те - Программирование Android
Нужен совет бывалых. У меня есть активити которое запускается с мейн активити, на нем лежит Layout (горизонтальный) в котором 2й...

Не хочет работать в layout, но включается в layout-land - Программирование Android
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так : &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout...

3
Pablito
2476 / 1960 / 611
Регистрация: 12.05.2014
Сообщений: 6,863
Завершенные тесты: 1
03.12.2015, 17:17 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
потому что размеры НАДО ЗАДАВАТЬ В DP
надо баннер на форуме повесить с этим сообщением
1
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
03.12.2015, 17:38 #3
все равно в результате придете к разным картинкам под разное разрешение.
просто разница между 3.2 и 10.1 ну очень большая.
0
Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 300
Завершенные тесты: 1
03.12.2015, 17:48  [ТС] #4
Мне чисто в целях экономии времени и ресурсов (можно сказать и памяти, ну да ладно).

Первому сообщению спасибо - сразу прям дошло что к чему. Вопрос даже вдруг оказался в том - как привязать разные пиксели к dp ?

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="844dp"
    android:layout_height="1061dp"
    android:background="#77acff"
    tools:context=".MainActivity"
    android:id="@+id/rl"
>
 
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/img"
        android:background="#ff9b47"
        android:src="@drawable/n39" />
 
</RelativeLayout>
Проблема была ещё вот в чём: я использую программный скрол, где есть типа размеры картинки и я думала. что нужно программно до setContentView изменить layout и дальше там как по маслу.
А вышло даже вот как:

После установки layout я измеряю density:

Java
1
final float appDensity = (float)(this.getApplicationContext().getResources().getDisplayMetrics().density);
А затем меняю размеры картинки для программного скролла:

Java
1
2
bitmapWidth = (int)(bitmapWidth * appDensity);
        bitmapHeight = (int)(bitmapHeight * appDensity);
Просто мне не совсем понятно, как 844px == 844dp для, например, xhdpi, где у них коэф density = 2.
Но применив все те манипуляции с разрешениями и измерениями всё работает как надо на всех устройствах.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2015, 17:48
Привет! Вот еще темы с ответами:

Изменение layout-элементов одного activity из другого activity - Программирование Android
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном activity из второго activity, каким образом мне можно это...

Изменение размера изображения - Программирование Android
Здравствуйте! Интересует возможность изменения выводимого на экран изображения в Android. Требуется хак для определенного устройства....

Изменение размера Activity - Программирование Android
как изменить размер активити по умолчанию его размер устанавливается во весь экран как уменьшить длину и ширину активити?как вызвать...

Изменение размера изображения (байты) - Программирование Android
Здравствуйте. Возник вопрос о том, как можно сжать полученное от камеры фото. В смысле не по ширине/высоте, а по &quot;массе&quot; так сказать. То...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
03.12.2015, 17:48
Ответ Создать тему
Опции темы

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