Sunday, 29 December 2013


Implementation of the fragment with the ability to display indeterminate progress indicator when you are waiting for the initial data. Based on ListFragment.

Download from GitHub


This project is meant for people who want to display a calendar view and show that there are events on certain days. What I did was pull out the calendar view from Google’s Calendar application.
Implementation is not the easiest though as there is a lot to it but I hope to filter out stuff that is not needed to try to make it simpler.

Download from GitHub


ProgressButton is a custom progress indicator with a tiny footprint. Based on the sample code provided by Roman Nurik on Google Code. The default implementation provides a pin progress button as seen on the Android design site.
The color indicates whether it’s downloaded (blue) or not (gray). The appearance of the pin indicates whether the download is permanent (white, upright) or temporary (gray, diagonal). When state is in the process of changing, progress is indicated by a moving pie chart

Download from GitHub

Pager Sliding TabStrip

Inspired by the new 4th version of the Android Play Store, Pager Sliding TabStrip is anInteractive paging indicator widget, compatible with the ViewPager from the Android Support Library.
Try out the sample application on the Play Store.

Download from GitHub

Fading ActionBar

FadingActionBar is a library which implements the cool fading action bar effect that can be seen in the new Play Music app.
This library uses the techniques outlined by Cyril Mottier in a recent blog post.
For reasons of backwards compatibility this library relies on ActionBarSherlock. If your app uses the native action bar, there is a fork for you.

Download from GitHub


An Android Toast replacement, similar to the one seen in the GMail app.
  • Messages are local to the Activity/Fragment the MessageBar is attached to
  • Messages can be queued
  • Can display a button, with a listener to react to clicks

Download from GitHub


This library is an open-source set of graph types that are easy to add to your app, and in addition, look gorgeous. Themed in the much-loved Holo style of Android, the graphing library should fit in with any of your modern, standards-compliant apps.

Clone from Bitbucket

Sunday, 22 December 2013

ActionBar Pull-to-Refresh

ActionBar-PullToRefresh provides an easy way to add a modern version of the pull-to-refresh interaction to your application, similar to the latest GMail app.

Download from GitHub


The Cropper is an image cropping tool. It provides a way to set an image in XML and programmatically, and displays a resizable crop window on top of the image. Calling the method getCroppedImage() will then return the Bitmap marked by the crop window.
Developers can customize the following attributes (both via XML and programmatically):
  • appearance of guidelines in the crop window
  • whether the aspect ratio is fixed or not
  • aspect ratio (if the aspect ratio is fixed)
  • image resource
A public method to rotate the image by a specified number of degrees is also included. This can be used to provide the user with an option to fix the image orientation should Android miscalculate the intended orientation.
Download from GitHub


The RangeBar is similar to an enhanced SeekBar widget, though it doesn’t make use of the SeekBar. It provides for the selection of a range of values rather than a single value. The selectable range values are discrete values designated by tick marks; the thumb (handle) will snap to the nearest tick mark.
Download from GitHub

Friday, 20 December 2013

Android StackBlur

Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.
Download from GitHub

MapNavigator Library

Easy to use library to get and display driving directions on Google Maps v2 in Android. This library gives you directions and displays the route on the map.
Download from GitHub

Wednesday, 11 December 2013

left/right and up/down swiping navigation

public class Test extends Activity{

private GestureDetector gesturedetector = null;

View layout;


public void onCreate(Bundle savedInstanceState) {



layout = (LinearLayout)findViewById(;

gesturedetector = new GestureDetector(new MyGestureListener());

layout.setOnTouchListener(new OnTouchListener() {


public boolean onTouch(View v, MotionEvent event) {


return true;




public boolean dispatchTouchEvent(MotionEvent ev){


return gesturedetector.onTouchEvent(ev);


class MyGestureListener extends GestureDetector.SimpleOnGestureListener{

private static final int SWIPE_MIN_DISTANCE = 150;

private static final int SWIPE_MAX_OFF_PATH = 100;

private static final int SWIPE_THRESHOLD_VELOCITY = 100;


public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,

float velocityY) {

float dX = e2.getX()-e1.getX();

float dY = e1.getY()-e2.getY();

if (Math.abs(dY)<SWIPE_MAX_OFF_PATH &&

Math.abs(velocityX)>=SWIPE_THRESHOLD_VELOCITY &&

Math.abs(dX)>=SWIPE_MIN_DISTANCE ) {

if (dX>0) {

Toast.makeText(getApplicationContext(), Right Swipe”, Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(getApplicationContext(), Left Swipe”, Toast.LENGTH_SHORT).show();


return true;

} else if (Math.abs(dX)<SWIPE_MAX_OFF_PATH &&

Math.abs(velocityY)>=SWIPE_THRESHOLD_VELOCITY &&

Math.abs(dY)>=SWIPE_MIN_DISTANCE ) {

if (dY>0) {

Toast.makeText(getApplicationContext(), Up Swipe”, Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(getApplicationContext(), Down Swipe”, Toast.LENGTH_SHORT).show();


return true;


return false;