TonicArtos / StickyGridHeaders

This project has been superseded by SuperSLiM, a layout manager for RecyclerView. I strongly recommend using SuperSLiM and not StickyGridHeaders.
http://tonicartos.com
Apache License 2.0
1.47k stars 441 forks source link

StickyGridHeaders

Replacement project at SuperSLiM

This repository is abandoned and will no longer see any development or support.

The replacement SuperSLiM is an implementation of a layout manager on top of RecyclerView. It offers extensible layouts per section, and multiple display modes for headers, including sticky headers. Really, it is better in every way with superior performance, configuration, and is not a hack of ListView, which should completely sell you on it.

StickyGridHeaders is an Android library for Android 2.3+ that provides a GridView that shows items in sections with headers. By default the section headers stick to the top like the People app in Android 4.x but this can be turned off. StickyGridHeaders also automatically sizes its rows to the largest item in the row.

StickyGridHeaders has been designed to be adapter compatible with, and was inspired by, StickyListHeaders.

Roadmap

Version 1.0.1 has been released!

Development on master will now focus on bringing the headers into the view hierarchy and resolving dpad navigation issues.

Usage

Sticky Grid Headers can be added to your project as an Android Library Project, a Jar library, or using Maven.

StickyGridHeadersGridView replaces the use of a GridView in your application and is used in the same manner. To get all the functionality your ListAdapter must implement one of either StickyGridHeadersBaseAdapter or StickyGridHeadersSimpleAdapter. The choice of the implementation allows you to decide between the 'Simple' version which automatically does some housework to enable the grid sections and headers, or the 'Base' version which leaves that work to you so you can implement a specific solution for your data set.

Including in your Project

This library can be used as a .jar file included in the libs/ directory of your project. The latest version is available from Google Drive.

For Maven users, StickyGridHeaders can now be easily included by specifying it as a dependency:

<dependency>
  <groupId>com.tonicartos</groupId>
  <artifactId>stickygridheaders</artifactId>
  <version>1.0.1</version>
</dependency>

Compatibility

The simple adapter interface has the same signature as StickyListHeadersAdapter so if you are using the StickyListHeaders library your adapters are already ready for StickyGridHeaders.

Example

Example App Portrait Screenshots The example source code is included in this repository.

License

Copyright 2013 Tonic Artos

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.