Skip to content

akbarsha03/SuperSLiM2

Repository files navigation

Hi there! So currently development has been happening over on the version5 branch. This is because I have been working on a different, stateful, approach that lets me support animations and orientation variations, and a few more things. However, version5 is still a work in progress, but its section graph has already demonstrated itself to be far more reliable than the stateless model used here, in version 4. Unfortunately, version5 isn't ready yet, it also has a different API. I also have had a number of life issues get in the way of development from time to time so things have been slower than planned. Anyway, I will be switching everything over to version5 as soon as scrolling is working properly again. I'll also be scrubbing the issues down to only those relevant to the new code base. If anything changes I'll update this message, but I'll also be posting in the other community areas.

Current release branchBuild Status

GitHub Release VersionMaven Central VersionDownload

SuperSLiM is a configurable layout manager for a RecyclerView. It provides a vertical scrolling list of sections. Each section is a grouping of one or more views, arranged by a section layout manager (SLM). Sections may have a header, and each header can have its own unique layout. The SLM can be one of the provided (listed below), or of your own creation.

SuperSLiM also has a maintained wiki with guides and documentation to help you out.

Compatibility

Minimum sdk is presently set to 9. However, the library is only supported for, and actively tested against, versions 15 and later.

Feature Overview

Section Headers

  • Sticky headers
  • Material design style headers
  • Header overlays

Section Layout Managers (SLM)

  • Linear (like ListView)
  • Grid (like GridView)
  • Staggered Grid - not yet implemented
  • or create your own

Misc

  • Support for RTL languages
  • Smooth scroll indicator

See the Roadmap for more details and future development.

How do I get it?

Add the following to your build.gradle file.

dependencies {
    compile 'com.tonicartos:superslim:0.4.13'
}

How do I use it?

Read the Getting Started wiki page for easy to follow instructions.

SuperSLiM is documented in the wiki so you can easily get stuck in.

Support

Samples

Included in the repository.

Example App

Acknowledgements

Android Arsenal for its indexing of third party libraries.
Android Arsenal

Thanks to Dave Smith for his introduction to writing a RecyclerView LayoutManager over at Wires are Obsolete, and to Lucas Rocha for his TwoWayView Library which is worth checking out too.

License

Copyright (C) 2014, 2015 Tonic Artos

SuperSLiM is largely original with some pieces from from Lucas Rocha's TwoWayView Library and the AOSP.

Copyright (C) 2014 Lucas Rocha

Copyright (C) 2014 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.