B размещается на y = H − hB, а высота A равна H − hB + 20 dp. A начинается на y = 0; B рисуется поверх A, образуя перекрытие ровно 20 dp.
Как расположить две кнопки с перекрытием на 20 dp?
B размещается на y = H − hB, а высота A равна H − hB + 20 dp. A начинается на y = 0; B рисуется поверх A, образуя перекрытие ровно 20 dp.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
В контейнере шириной W и высотой H нужно разместить A и B на всю ширину. B имеет измеренную высоту hB и прижата к низу. A занимает верхнюю область, причём B визуально перекрывает нижние 20 dp кнопки A. Считайте H ≥ hB ≥ 20 dp. Найдите размеры и координаты.
Ответ
B размещается на y = H − hB, а высота A равна H − hB + 20 dp. A начинается на y = 0; B рисуется поверх A, образуя перекрытие ровно 20 dp.
Сначала измеряют B, затем вычисляют оставшуюся высоту A с добавлением области перекрытия. При H = 600 dp и hB = 80 dp получаются A высотой 540 dp и B на y = 520 dp. Для реального интерфейса необходимо согласовать hit-testing: визуально верхний элемент должен получать нажатия в перекрытой области. Текст и значимые части A не размещают под B; размеры переводят в пиксели с учётом плотности экрана.