# StaggeredGridView **Repository Path**: cxxowl/StaggeredGridView ## Basic Information - **Project Name**: StaggeredGridView - **Description**: A modified version of Android's experimental StaggeredGridView. Includes own OnItemClickListener and OnItemLongClickListener, selector, and fixed position restore. - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README StaggeredGridView ======= ## Introduction This is a modified version of Android's experimental StaggeredGridView. The StaggeredGridView allows the user to create a GridView with uneven rows similar to how Pinterest looks. Includes own OnItemClickListener and OnItemLongClickListener, selector, and fixed position restore. ## Setup To use StaggeredGridView in your projects, simply add this project to your workspace then add it as a library project to your current project. ## Usage StaggeredGridView can be added as a custom view to any layout. Attributes supported (same behavior as GridView): * numColumns : determines the amount of columns to be drawn * drawSelectorOnTop : determine if selector should be drawn on top ```xml ``` The StaggeredGridView includes its own interface's OnItemClickListener, and OnItemLongClickListener since StaggeredGridView does not extend an AdapterView. Behavior is the same. ```java onItemClick(StaggeredGridView parent, View view, int position, long id); onItemLongClick(StaggeredGridView parent, View view, int position, long id); ``` ## Tests No tests have been written however I have tested this View manually with 2.2.2+ devices. Please report any issues. ## TODO: * implement more custom attributes to mirror GridView's attributes * develop tests * hideSelector() * support multiple choice mode * currently restoring position can result in the views to be slightly offset when user flings to the top. This is corrected by checking the offsets when position 0 is reached. Would like to dig deeper into the issue.