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.
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.
Add the following to your build.gradle file.
dependencies {
compile 'com.tonicartos:superslim:0.4.8'
}
Read the Getting Started wiki page for easy to follow instructions.
SuperSLiM is documented in the wiki so you can easily get stuck in.
- Wiki
- Google+ Community
- Stack Overflow (Please tag questions with superslim).
Included in the repository.
Android Arsenal for its indexing of third party libraries.
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.
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.