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

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

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

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

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

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

Solutions Collecting From Web of "Создание пользовательского интерфейса, такого как Chrome для Android"

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

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

Введите описание изображения здесь

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

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

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

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

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

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