Табы в приложении

Одним из вариантов организации меню в приложении, является организация «табов», которые могут располагаться как внизу экрана, так и вверху. Например что-то вроде:

Это изображение имеет пустой атрибут alt; его имя файла - %D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-2.png

Для начала создадим отдельную функцию отрисовки табов:

isScrollable — отвечает за плавное переключение табов. Если эффект анимации не нужен — можно отключить.

Далее главный виджет:

При отрисовке в методе TabBar можно использовать следующие настройки:

  • isScrollable = true/false = плавный скроллинг
  • padding = отступы
  • indicatorColor = цвет подсветки
  • indicatorWeight = 2.0 = толщина подчёркивания
  • indicatorPadding = EdgeInsets.zero = отступы подчёркивания
  • indicatorSize = размер чёрточки
  • labelColor = цвет текста таба
  • labelStyle = стиль текста таба
  • labelPadding = отступы между метками
  • unselectedLabelColor = цвет не выделенного таба
  • unselectedLabelStyle = стиль не выделенного таба
  • onTap = действие при выборе

Диалоговое окно на чистом javascript

Задача: вывести диалоговое окно без использования Jquery

Решение:

postgresql: выполнение запроса из командной строки

Задача: периодически необходимо подрезать логи

Решение: самое простое подготовить скрипт на bash и разместить ссылку на его выполнение в crontab:

Android: Не работает диалог выбора файла в webview

Задача: в контексте webview приложения для android, не открывается диалоговое окно выбора файла, в виду отсутствия в «базовом» варианте работы webview необходимых обработчиков. Решение описываемое в статье 2020года не работает в 2022 году

Решение: в конце 2022 года, рабочая минимальная обвязка для обработки выбора файлов такова:

Android Studio: в эмуляторе не работает интернет

Задача: По не понятной причине, в эмуляторе андроида перестает работать интернет

Решение: небольшое исследование показало, что эмулятор при запуске андроида, автоматом выставляет сервера DNS не те которые указаны у операционной системы хоста, а DNS гугла. Однако оные могут быть запрещены в политике организации.

Выход: принудительно указать DNS сервер при запуске эмулятора. Однако не всё так просто, из самой Android Studio это в настоящий момент не возможно. Однако можно запустить эмулятор из командной строки:

1 43 44 45 46 47 286