Подтвердить что ты не робот

Создание пользовательского интерфейса, такого как Chrome для Android

Я хочу реализовать это поведение [https://github.com/gleue/TGLStackedViewController] в приложении, которое я пытаюсь сделать.

Ближайшая вещь/эффект, который я хочу достичь, - это поведение браузера Google Chrome.

  • Интерфейс плит/карт
  • Возможность доступа к форме навигации (доступ к другим вкладкам), когда пользователь вытаскивает адресную строку.
  • Возможность переустановки вкладок в любом порядке, который пожелает пользователь.

Фото из этого Платформа Android: как реализовать пользовательский интерфейс, подобный колоде карт? Вопрос SO

Есть ли там кто-нибудь, кто пытался реализовать такое поведение? Вы, ребята, знаете какие-нибудь библиотеки, которые могут помочь в достижении этого эффекта? Было бы очень полезно! Спасибо вам

4b9b3361

Ответ 1

Пакет

systemUI/Recents, как указано Andrei, может быть вашей отправной точкой. Это добавляет немного больше к плоской передаче хромированных вкладок.

Я имел в виду рефакторинг пакета systemUI/Recents с тех пор, как получил обновление L. Я, наконец, добрался до него.

enter image description here

Пример проекта размещен по адресу: Ссылка

Несмотря на то, что группа просмотра перерабатывает, она обновляет карту прогресса (дочерние свойства) для всех детей на каждом шаге прокрутки. Это приведет к задержкам с большими наборами данных. Для нескольких сотен это должно быть хорошо.

Пример проекта использует Picasso для загрузки и кэширования изображений из LoremPixel. Поскольку они являются случайными изображениями и могут повторяться, вы можете убедиться, что они правильно связаны, глядя в нижнем левом углу изображения.

Ответ 2

Если вам нравится просматривать код AOSP, функциональность, которую вы ищете, на самом деле является открытым исходным кодом, и вы можете найти ее в Android 5.0 на экране последних приложений. Это - это код, который вы хотите посмотреть на github. Представление, которое вы хотите извлечь из AOSP, это RecentsView. Это лучший подход.

Вы также можете рассмотреть возможность расширения StackView и переопределения onLayout(), чтобы вы получили дочерние элементы.

Еще одна опция - расширить ListView, переопределить drawChild или макетные снимки и попытаться сдвинуть представления в соответствии с их положением. Вы можете найти вдохновение здесь и здесь