Home

Awesome

<a href="https://www.ramotion.com/agency/app-development/?utm_source=gthb&utm_medium=repo&utm_campaign=garland-view-android"><img src="https://github.com/Ramotion/folding-cell/blob/master/header.png"></a>

<a href="https://github.com/Ramotion/garland-view-android"> <img align="left" src="https://github.com/Ramotion/garland-view-android/blob/master/preview.gif" width="480" height="360" /></a> <p><h1 align="left">GARLAND VIEW [JAVA]</h1></p> <h4>Garland View seamlessly transitions between multiple lists of content</h4>
<p><h6>We specialize in the designing and coding of custom UI for Mobile Apps and Websites.</h6> <a href="https://www.ramotion.com/agency/app-development/?utm_source=gthb&utm_medium=repo&utm_campaign=garland-view-android"> <img src="https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png" width="187" height="34"></a> </p> <p><h6>Stay tuned for the latest updates:</h6> <a href="https://goo.gl/rPFpid" > <img src="https://i.imgur.com/ziSqeSo.png/" width="156" height="28"></a></p> </br>

Twitter Donate

Check this library on other platforms:

<a href="https://github.com/Ramotion/garland-view"> <img src="https://github.com/ramotion/navigation-stack/raw/master/Swift@2x.png" width="178" height="81"></a>

Requirements

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:

<br>

🗂 Check this library on other language:

<a href="https://github.com/Ramotion/garland-view"> <img src="https://github.com/ramotion/navigation-stack/raw/master/Swift@2x.png" width="178" height="81"></a>

📄 License

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

This library is a part of a <a href="https://github.com/Ramotion/android-ui-animation-components-and-libraries"><b>selection of our best UI open-source projects</b></a>

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.

<a href="https://play.google.com/store/apps/details?id=com.ramotion.showroom" > <img src="https://raw.githubusercontent.com/Ramotion/react-native-circle-menu/master/google_play@2x.png" width="104" height="34"></a> <a href="https://www.ramotion.com/agency/app-development/?utm_source=gthb&utm_medium=repo&utm_campaign=garland-view-android"> <img src="https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png" width="187" height="34"></a>