Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jacobmoncur/QuiltViewLibrary

Android Quilt View Library
https://github.com/jacobmoncur/QuiltViewLibrary

Last synced: about 6 hours ago
JSON representation

Android Quilt View Library

Awesome Lists containing this project

README

        

# QuiltViewLibrary

QuiltView displays **views of different sizes** in a **scrollable grid**.

![quilt](https://raw.github.com/jacobmoncur/QuiltViewLibrary/master/nexus7.png "QuiltView") ![quilt](https://raw.github.com/jacobmoncur/QuiltViewLibrary/master/nexus7_mayer.png "QuiltView")

Dependencies
------------
This library depends on gridlayout_v7 ([email protected]:jacobmoncur/gridlayout_v7.git)

Setup
-----

The QuiltView can be defined by XML:








Or programmatically

boolean isVertical = true|false; //defines which direction the QuiltView will scroll: true = Vertical, false = Horizontal
QuiltView quiltView = new QuiltView(context, isVertical); //(QuiltView) findViewById(R.id.quilt);


Adding Children
---------------

Children must be added to the QuiltView programmatically as an ArrayList of ImageViews:

ArrayList images = new ArrayList();
for(int i = 0; i < num; i++){
ImageView image = new ImageView(this.getApplicationContext());
image.setScaleType(ScaleType.CENTER_CROP);
image.setImageResource(R.drawable.bg);
images.add(image);
}
quiltView.addPatchImages(images);

Or an ArrayList of Views

ArrayList views = new ArrayList();
for(int i = 0; i < num; i++){
FrameLayout patch = new FrameLayout(this.getApplicationContext());
views.add(patch);
}
quiltView.addPatchViews(views);

Goals for this view
-------------------
* Have no _empty_ patches
* Be sudo-random (lays out the children differently each time)
* Looks awesome!

TODO
----
* Custom Adapter to allow view recycling
* Be able to define children in XML
* Adapt better to different screen sizes