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>
Примените стиль к каждому элементу в вашем макете