Привет Хабр.
Хоть я какое-то время и пытался разрабатывать под андроид, но один момент так и не понял. А именно, как задавать абсолютные координаты, отступы для элементов так, чтобы они выглядели одинаково во всех разрешениях.
Проблема: есть некий блок типа тулбар в самом низу приложения, который всегда располагается внизу. Есть View типа попапа, которая находится поверх всех остальных окон (по объективным причинам), поэтому не может быть расположена относительно тулбар. У нее должен быть определенный отступ от тулбар, т.е. отступ берется от низа дисплея и составляет высоту тулбар + отступ от нее.
Вот проблема в том, что если задавать отступ в dip, то он при разных разрешениях по факту разный. Задавать отступ в пикселях тоже не идеальное решение. Как поступать в таких случаях?
Как пример: тулбар 60 пикселей в высоту в mdpi (допустим с изображением в заднем фоне, которое имеет фиксированный размер), что соответствует 60 dip (коэфициент 1х, если верить этой странице:
developer.android.com/guide/practices/screens_supp...), тогда в hdpi эти же 60dip должны быть 90 пикселей, что чаще всего соответствует действительности, но в xhdpi все выглядит уже совсем по-другому.
Помогите пожалуйста разобраться.
UPD.
На данный момент я попробовал решить этот вопрос так:
я рассчитываю отдельно коэфициент отношения ширины экрана устройства к 320 (обычно ширина устройства mdpi, т.е. 1х) и умножаю отступы в пикселях на этот коэфициент. Но мне не кажется это оптимальным решением.