Ответы пользователя по тегу Android
  • Как поменять цвета иконок Toolbar при переключении темы?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Сейчас сижу над этим же и у меня есть третий вариант. Я в XML каждой иконки указал android:fillColor="?android:attr/textColor". В светлой теме текст тёмный, а в тёмной соответственно - светлый. Иконки перекрасятся автоматически при изменении темы, я надеюсь. Сейчас буду проверять.
    Ответ написан
    5 комментариев
  • Будет ли утечка при использовании Shared ViewModel?

    Yar_Rick
    @Yar_Rick
    yareg.com
    А зачем хранить ссылки на фрагменты? Нужно предоставить управление ими менеджеру фрагментов. Он сам знает, когда выкинуть тот или иной фрагмент из памяти. В своём приложении я специально добивался того, чтобы фрагменты оставались в памяти и не пересоздавались слишком часто. Для этого в транзакции мне пришлось обойтись без replace, attach и detach, а использовать show и hide. Я не храню нигде ссылки на фрагменты и нахожу их когда нужно через менеджер фрагментов по tag. А если фрагмент не нашёлся - создаю новый инстанс.
    Ответ написан
  • Из каких программ UI/ UX дизайна можно экспорировать xml для Android Studio?

    Yar_Rick
    @Yar_Rick
    yareg.com
    В Android Studio можно не писать XML руками, там есть графический интерфейс с палитрой и деревом компонентов, предпросмотром экрана, где можно таскать элементы мышкой. Всё это великолепие находится на вкладке Design, что располагается внизу окна открытого файла с XML-разметкой по соседству с вкладкой Text. Другое дело, что эта среда не очень user-friendly и иногда бесит, но человек ко всему привыкает со временем )
    Ответ написан
    Комментировать
  • Как запретить выход в интернет если упал прокси на Android?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Ответ написан
    Комментировать
  • Как поставить таймер на кнопку в Android Studio?

    Yar_Rick
    @Yar_Rick
    yareg.com
    1. При нажатии на кнопку нужно сохранять timestamp куда-либо (в БД, в Preferences).
    2. При открытии экрана с этой кнопкой сравнивать текущее время с сохраненным timestamp - если прошло 5 часов, кнопка создается на экране активной, если нет - кнопка создается неактивной.
    3. Для активации кнопки в нужное время при постоянно открытом экране с этой кнопкой нужно воспользоваться какой-нибудь реализацией таймера. Таймер заводить при открытии экрана (onResume) на время, которое должно пройти с текущего момента до сохраненного timestamp + 5 часов и останавливать при закрытии экрана (onPause). Когда таймер сработал - кнопка активируется.
    Ответ написан
    Комментировать
  • Как научиться понимать код сложного приложения?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Нужно начать разработку своего простого приложения, но с чётко определённой функциональностью. На каждом этапе разработки нужно искать в интернете best practices, то есть оптимальный подход к реализации той или иной части приложения - работа с БД, списками, фрагментами и т.п. Стараться понять каждую строчку кода, экспериментировать с различными вариантами реализации. Обязательно собирать свой проект каждый день и тестировать на реальном устройстве - всплывёт столько багов, что, возможно, придётся переосмыслить весь подход и начать заново, но это будет уже новый уровень. Следить за качеством кода, размером APK, скоростью работы на слабых устройствах.
    Ответ написан
    Комментировать
  • Как решить проблему с лагами на nexus7?

    Yar_Rick
    @Yar_Rick
    yareg.com
    На Nexus 7 2012 нужно регулярно запускать fstrim -v /data (ну и остальные точки монтирования не помешает - /cache, /system) в терминале рекавери (я говорю о TWRP), чтобы проблем было меньше. А если прошить нормальную прошивку и установить ParrotMod, то вполне начинается новая жизнь. Я пользуюсь прошивкой The Pure Nexus Project (Android 6.0). На мой взгляд сервисы Google (GApps) не стоит устанаваливать, а приложения ставить через Yalp Store.

    Ссылки для изучения:
    https://forum.xda-developers.com/nexus-7/developme...
    https://forum.xda-developers.com/nexus-7/orig-deve...
    https://f-droid.org/en/packages/com.github.yeriomi...
    Ответ написан
    Комментировать