Skip to content

PLASMA-6379: NavigationBar was implemented for xml#675

Open
SerraMorec wants to merge 2 commits intodevelopfrom
feature/plasma-6379-navbar
Open

PLASMA-6379: NavigationBar was implemented for xml#675
SerraMorec wants to merge 2 commits intodevelopfrom
feature/plasma-6379-navbar

Conversation

@SerraMorec
Copy link
Collaborator

sdds-uikit

NavigationBar

  • Реализован новый компонент

sdds-serv

NavigationBar

  • Добавлены новые стили

plasma-sd-service

NavigationBar

  • Добавлены новые стили

File

  • Добавлены новые стили

What/why changed

Реализован новый компонент NavigationBar, написана документация, реализован генератор.

Снимок экрана 2026-02-16 в 05 20 55
2026-02-16.09.59.27.mov
2026-02-16.10.00.13.mov
2026-02-16.10.01.01.mov

@salutedevs
Copy link
Collaborator

salutedevs commented Feb 16, 2026

📘Артефакты документации опубликованы:

@salutedevs
Copy link
Collaborator

salutedevs commented Feb 16, 2026

📦 Собранные APK

📲 Как установить APK на Android-устройство:

  1. Распакуйте архив.
  2. Скопируйте нужный .apk на устройство (через USB, Telegram, Google Drive и т.д.).
  3. Откройте .apk на устройстве и подтвердите установку.
    Если потребуется, включите Разрешение на установку из неизвестных источников в настройках устройства.

💻 Установка через USB (ADB):

  1. Включите Отладку по USB на устройстве (Настройки → Для разработчиков).
  2. Подключите устройство к компьютеру по USB.
  3. Убедитесь, что устройство отображается:
    adb devices
  4. Установите .apk:
    adb install path/to/your.apk
    Если приложение уже установлено и нужно обновить:
    adb install -r path/to/your.apk

heightMeasureSpec,
0,
)
widthUsed += centerContent.measuredWidth + verPaddings
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

почему тут вертикальные паддинги, а не горизонтальные?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

да, это ошибка, спасибо, поправил

0,
)
widthUsed += centerContent.measuredWidth + verPaddings
val heightUsed = horPaddings +
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

а здесь горизонтальные вместо вертикальных

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

да, это ошибка, спасибо, поправил

@SerraMorec SerraMorec force-pushed the feature/plasma-6379-navbar branch from f6bbf08 to 1e54d19 Compare February 16, 2026 09:15
val actionStartH = if (actionStart.isVisible) actionStart.measuredHeight else 0

val actionEndW = if (actionEnd.isVisible) actionEnd.measuredWidth else 0
val actionEndH = if (actionEnd.isVisible) actionEnd.measuredHeight else 0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Если visibility == INVISIBLE, то ширина/высота не будут учитываться, а по идее должны.
Или я что-то упускаю?


if (centeringStrategy == CenteringStrategy.RELATIVE) {
var top = viewTop(actionStartH)
if (actionStart.isVisible) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

и тут, если visibility == View.INVISIBLE, то вьюшка должна быть расположена. Судя по коду, это не так

private var titleAppearances: StyleStateList? = null
private var currentTitleAppearance: Int = 0
private var currentDescriptionAppearance: Int = 0
private var titleColors: ColorStateList? = null
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мы точно можем ограничиться только ColorStateList?
У нас есть ColorValueStateList, который поддерживает токены градиента.
Думаю, что нужно добавить для всех свойств цвета в этом классе ColorValueStateList

* Роль назначается автоматически как [NavigationBarContent.TITLE]
*/
open fun setTitle(title: View, params: NavigationBarLayoutParams? = null) {
universalAddView(title, params, NavigationBarContent.TITLE)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Что произойдет, если пользователь установит два title? я правильно понял, что внутри setRoleLink удалится старая вьюшка и добавиться новая?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants