Задать вопрос
@Niemand

Абсолютное позиционирование в Android?

Привет Хабр.


Хоть я какое-то время и пытался разрабатывать под андроид, но один момент так и не понял. А именно, как задавать абсолютные координаты, отступы для элементов так, чтобы они выглядели одинаково во всех разрешениях.


Проблема: есть некий блок типа тулбар в самом низу приложения, который всегда располагается внизу. Есть View типа попапа, которая находится поверх всех остальных окон (по объективным причинам), поэтому не может быть расположена относительно тулбар. У нее должен быть определенный отступ от тулбар, т.е. отступ берется от низа дисплея и составляет высоту тулбар + отступ от нее.

Вот проблема в том, что если задавать отступ в dip, то он при разных разрешениях по факту разный. Задавать отступ в пикселях тоже не идеальное решение. Как поступать в таких случаях?


Как пример: тулбар 60 пикселей в высоту в mdpi (допустим с изображением в заднем фоне, которое имеет фиксированный размер), что соответствует 60 dip (коэфициент 1х, если верить этой странице: developer.android.com/guide/practices/screens_supp...), тогда в hdpi эти же 60dip должны быть 90 пикселей, что чаще всего соответствует действительности, но в xhdpi все выглядит уже совсем по-другому.


Помогите пожалуйста разобраться.


UPD.

На данный момент я попробовал решить этот вопрос так:

я рассчитываю отдельно коэфициент отношения ширины экрана устройства к 320 (обычно ширина устройства mdpi, т.е. 1х) и умножаю отступы в пикселях на этот коэфициент. Но мне не кажется это оптимальным решением.
  • Вопрос задан
  • 3609 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы