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

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

Войти
Регистрация
Восстановить пароль
 
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

Зафиксировать элемент на лаяуте - Android

24.08.2013, 15:49. Просмотров 915. Ответов 17
Метки нет (Все метки)

Как сделать так чтобы расположив button, в данном случае это крестик (смотреть скриншот) на разметке он не смещался в разные стороны запуская его на разных разрешениях, а оставался на месте. Т.е. я имею его к чему-то привязать, зафиксировать. Просто если его привязывать к другому элементу, то тот элемент ведь тож смещается.
Миниатюры
Зафиксировать элемент на лаяуте  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2013, 15:49     Зафиксировать элемент на лаяуте
Посмотрите здесь:

Как зафиксировать нижнюю панель? Android
Android Нужно зафиксировать альбомное расположение
Зафиксировать пзицию элемента в ListView Android
Android Зафиксировать ориентацию экрана
Как зафиксировать ширину элементов ListView Android
Android Вывести в лаяуте таблицу с шапкой и колонками
Android Button зафиксировать нажатие

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 15:52     Зафиксировать элемент на лаяуте #2
не понятна суть проблемы.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.08.2013, 16:04  [ТС]     Зафиксировать элемент на лаяуте #3
Цитата Сообщение от V0v1k Посмотреть сообщение
не понятна суть проблемы.
Объясняю. Располагаю кнопку (крестик) на расстояние 2 см (грубо) от верха диалога. Запускаю на устройстве с разрешением 480x800 всё отображается как надо т.е. на расстоянии 2 см, а вот если запускаю на разрешении 480x854 всё расстояние изменяется и теперь кнопка (крестик) смещается вверх. Как зафиксировать кнопку на расстоянии 2 см неважно бы на каком разрешении запускался бы это диалог.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 16:06     Зафиксировать элемент на лаяуте #4
указывайте все в dp
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.08.2013, 16:07  [ТС]     Зафиксировать элемент на лаяуте #5
Цитата Сообщение от V0v1k Посмотреть сообщение
указывайте все в dp
так я и указываю, но оно все-равно смещает.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 16:14     Зафиксировать элемент на лаяуте #6
вы линейкой меряете?
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.08.2013, 16:21  [ТС]     Зафиксировать элемент на лаяуте #7
Цитата Сообщение от V0v1k Посмотреть сообщение
вы линейкой меряете?
нет конечно. Запуская на устройстве вижу невооруженным взглядом. На скриншоте пример как это выглядит.
Миниатюры
Зафиксировать элемент на лаяуте  
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 16:29     Зафиксировать элемент на лаяуте #8
я это вижу примерно так:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:orientation="horizontal">
<картинка
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"/>
<текст
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<кнопка
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"/>
</LinearLayout>
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.08.2013, 16:35  [ТС]     Зафиксировать элемент на лаяуте #9
что ты вы мне интересное прислали. Я думаю что это как раз и исправит мою проблему, но хотелось бы понять, что является основными факторами?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 16:39     Зафиксировать элемент на лаяуте #10
все находится в одном лаяуте и прижато к верхней его части.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.08.2013, 16:41  [ТС]     Зафиксировать элемент на лаяуте #11
а если всё расположено на RelativeLayout ? разница есть какая?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 16:44     Зафиксировать элемент на лаяуте #12
есть, но можно и под него переделать.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.08.2013, 16:54  [ТС]     Зафиксировать элемент на лаяуте #13
А если у меня всё что под кнопкой, это картинка установленная бэкграундом к RelativeLayout. Как тогда кнопку располагать, чтобы она всегда находилась на одном месте?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 17:06     Зафиксировать элемент на лаяуте #14
ну если в dp указывать должно быть примерно одинаково, я еще не видел чтобы расстояние в 5 раз уменьшалось.

Добавлено через 3 минуты
или вы просто картинки скриншотов уменьшили к одному размеру?

Добавлено через 1 минуту
если все под кнопкой это просто фоновая картинка, то может просто она увеличилась вот все и отдалилось от кнопки.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.08.2013, 17:06  [ТС]     Зафиксировать элемент на лаяуте #15
для каждого hdpi mdpi и.т.д своя картинка сделана в правильных пропорциях и кнопка тоже имеет для каждого hdpi mdpi и.т.д
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 17:08     Зафиксировать элемент на лаяуте #16
а зачем вам фон имитирующий интерфейс?

Добавлено через 38 секунд
или я что-то неправильно понял?

Добавлено через 34 секунды
Цитата Сообщение от Stylish2013 Посмотреть сообщение
для каждого разрешения своя картинка сделана в правильных пропорциях
ну так значить и расстояние нужно в пропорциях задавать.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
24.08.2013, 17:09  [ТС]     Зафиксировать элемент на лаяуте #17
ну я просто как пример привел. Просто есть в бекграунде определенные узоры на которых бы хотелось расположить кнопкую

Добавлено через 18 секунд
Цитата Сообщение от V0v1k Посмотреть сообщение
ну так значить и расстояние нужно в пропорциях задавать.
а как?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 17:32     Зафиксировать элемент на лаяуте #18
Цитата Сообщение от Stylish2013 Посмотреть сообщение
а как?
ну например если нужен отступ сверху в 20%
XML
1
2
3
4
5
6
7
8
9
10
11
12
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="100"
android:gravity="bottom">
<!-- этот LinearLayout  будет с отступов 20%-->
<LinearLayout 
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="80"/>
</LinearLayout>
Добавлено через 1 минуту
еще можете создать кастомный лаяут который будет расположение в процентах прощитывать для своих View в рантайме

Добавлено через 10 минут
к сожалению, у андроида нет удобного способа указать отступы в %
Yandex
Объявления
24.08.2013, 17:32     Зафиксировать элемент на лаяуте
Ответ Создать тему
Опции темы

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