January 22, 2019

383 words 2 mins read

Ramotion/garland-view-android

Ramotion/garland-view-android

:octocat: GarlandView seamlessly transitions between multiple lists of content. Made by @Ramotion - https://github.com/Ramotion/android-ui-animation-components-and-libraries

repo name Ramotion/garland-view-android
repo link https://github.com/Ramotion/garland-view-android
homepage
language Java
size (curr.) 16508 kB
stars (curr.) 1786
created 2017-08-11
license MIT License


Twitter Donate

Check this library on other platforms:

Requirements

  • Android 4.4 KitKat (API lvl 19) or greater
  • Your favorite IDE

Installation

Just download the package from here and add it to your project classpath, or just use the maven repo:

Gradle:

compile 'com.ramotion.garlandview:garland-view:0.3.3'

SBT:

libraryDependencies += "com.ramotion.garlandview" % "garland-view" % "0.3.3"

Maven:

<dependency>
    <groupId>com.ramotion.garlandview</groupId>
    <artifactId>garland-view</artifactId>
    <version>0.3.3</version>
</dependency>

Basic usage

GarlandView consists of classes for inner items that are scrolled vertically and outer items that are scrolled horizontally, and each of which contains one inner item.

First of all, you need to implement the classes necessary to create internal items: InnerItem and InnerAdapter.

InnerAdapter is an abstract class inherited from RecyclerView.Adapter. It works only with InnerItem - ViewHolder.

In InnerItem, you need to override the getInnerLayout method, which must return the main layout of the inner item.

Next, you need to override the classes required for external items: HeaderItem and HeaderAdapter.

HeaderAdapter is an abstract class inherited from RecyclerView.Adapter, It works only with HeaderItem - ViewHolder.

In HeaderItem, you need to redefine 4 methods: getHeader, getHeaderAlphaView, isScrolling, getViewGroup. The method getViewGroup should return InnerRecyclerView. The isScrolling method must return the InnerRecyclerView’s scrolling state. The getHeaderAlpha method should return an alpha-layout, which will be used for dimming (hiding header’s views). The getHeader method must return the main layout of the header, an outer item.

Finally, place TailRecyclerView in the Activity’s layout. Next, create a TailLayoutManager and specify it as a LayoutManager for TailRecyclerView.

Here are the attributes of TailRecyclerView you can specify in the XML layout:

  • itemStart - Outer item left and right offset size.
  • itemGap - Distance between outer items.

🗂 Check this library on other language:

📄 License

Garland View Android is released under the MIT license. See LICENSE for details.

This library is a part of a selection of our best UI open-source projects

If you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com

📱 Get the Showroom App for Android to give it a try

Try this UI component and more like this in our Android app. Contact us if interested.

comments powered by Disqus