Android Layout: Как реализовать интерфейс, похожий на колоду карт?

Мне нужно было реализовать макет, который похож на стек вкладок Google Chrome, как показано ниже.

Есть ли для этого доступные библиотеки?

2 ответа

Используйте RecyclerView с вашим собственным LayoutManager. Менеджер по расположению может сложить это так. Чтобы реализовать поведение (например, расширение элемента при нажатии), вам нужно больше кода. Я не могу найти проект с открытым исходным кодом, который имеет это.

Посмотрите здесь за помощью:

http://wiresareobsolete.com/2014/09/building-a-recyclerview-layoutmanager-part-1/

http://wiresareobsolete.com/2014/09/recyclerview-layoutmanager-2/

http://wiresareobsolete.com/2015/02/recyclerview-layoutmanager-3/

Вам необходимо создать набор настраиваемых рисунков для каждого аспекта карты и использовать их в макете. Вы можете использовать макет таблицы для этой цели.

Например, чтобы поместить фон с углами, вы можете создать рисунок следующим образом:

Добавьте новый ресурс drwabe следующим образом:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
   android:shape="rectangle" >
   <corners android:radius="5dp"/>
   <stroke android:width="1dp" android:color="choose the color which you want"/>
   <padding android:top="10dp" android:left="10dp" android:bottom="10dp" 
      android:right="10dp"/>
</shape>

Создайте собственный стиль и используйте вышеприведенный объект в качестве фона:

<style name="ContactTextView">
      <item name="android:background">@drawable/drawableName</item>
      // add other items 
</style>

Примените стиль к каждому элементу в вашем макете

Другие вопросы по тегам