TGViewer
Мобильная разработка Мобильная разработка @mobi_dev · 13.2K subscribers
Post #4268 1.91K
Мобильная разработка Photo
Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений

Привет, Хабр! Меня зовут Максим Сазонов, я android-разработчик в ПСБ.

Сегодня предлагаю разобрать путь создания кастомного тулбара от первой кривой реализации до оптимизированного решения.

И главная проблема, которую надо решить при создании этого компонента  это центрирование title и subtitle. Эта проблема возникает потому что у нас может быть тулбар с разным количеством иконок по обе стороны от заголовка, текстом и иконками или только с title. И если ширина иконок у нас стандартна (44 dp), и достаточно просто умножить эту ширину на количество иконок справа, чтобы понять свободное пространство для title и subtitle, то с текстом с одной или с двух сторон всё намного сложнее, так как мы не можем заранее вычислить ширину этого текста, а значит не можем правильно центрировать и задать ширину title и subtitle.

В статье я расскажу, как я решил этот вопрос.
Читать далее

Читать: https://habr.com/ru/companies/psb/articles/974368/

@mobi_dev | Другие наши каналы
  • ❤ 1
More from @mobi_dev
  1. Sep 25, 2026Как добавить свайп-действия в Android без устаревшего API В Compose Material 3 компонент S…
  2. Sep 25, 2026Как обновлять схемы SwiftData и не ломать данные после релиза После обновления iOS-приложе…
  3. Sep 25, 2026Как передать изображение в Foundation Models и получить Swift-структуру Мультимодальный вв…
  4. Sep 24, 2026Как изолировать ViewModel по записи навигации в Android Navigation 3 После миграции с Navi…
  5. Sep 24, 2026Как собирать диагностику iOS-приложения через MetricKit Xcode Organizer показывает сбои, з…
  6. Sep 24, 2026Как довести код ИИ-агента в iOS до TestFlight Donny Wals разбирает пайплайн, в котором аге…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →