Создать пользовательский интерфейс, как Chrome для Android
Я хочу реализовать это поведение [ https://github.com/gleue/TGLStackedViewController] в приложении, которое я пытаюсь создать.
Самая близкая вещь / эффект, которого я хочу достичь, - это поведение браузера Google Chrome.
- Интерфейс плитки / карты
- Иметь доступ к форме навигации (доступ к другим вкладкам), когда пользователь опускает адресную строку
- Уметь переставлять вкладки в любом порядке, который пожелает пользователь
Фото взято с этого Android Layout: Как реализовать интерфейс, похожий на колоду карт? ТАК вопрос
Есть ли кто-нибудь, кто пытался реализовать такое поведение? Ребята, вы знаете какие-нибудь библиотеки, которые могут помочь достичь этого эффекта? Это было бы очень полезно! Спасибо
2 ответа
systemUI/Recents
пакет, как указано Andrei
, может быть вашей отправной точкой. Это добавляет немного больше к плоскому представлению хромированных вкладок.
Я имел в виду рефакторинг systemUI/Recents
пакет с тех пор, как я получил L обновление. Я наконец дошел до этого.
Пример проекта размещен по адресу: Ссылка
Даже если группа видов перезагружается, она обновляет карту прогресса (дочерние свойства) для всех дочерних элементов на каждом шаге прокрутки. Это приведет к задержкам с большими наборами данных. На несколько сотен все должно быть в порядке.
Пример проекта использует Picasso для загрузки и кэширования изображений из LoremPixel. Так как это случайные изображения и могут повторяться, вы можете убедиться, что они связаны правильно, посмотрев в левом нижнем углу изображения.
Если вам хочется просмотреть код AOSP, то функциональность, которую вы ищете, на самом деле с открытым исходным кодом, и вы можете найти ее в Android 5.0 на экране последних приложений. Это код, который вы хотите посмотреть на GitHub. Представлением, которое вы хотите извлечь из AOSP, является RecentsView. Это был бы лучший подход.
Вы также можете рассмотреть вопрос о расширении StackView и переопределении onLayout(), чтобы вы получили детей в очередь.
Еще один вариант - расширить ListView, переопределить методы drawChild или layout и попытаться сместить представления в соответствии с их положением. Вы можете найти вдохновение здесь и здесь