I just finished a project I have been working on for quite a while now - a fully featured universal Bluetooth remote for Android.
Most controllers I have seen on the Play Store have a fixed layout, so if you wanted a customized remote you had to program it yourself. With my app you can drag and drop UI elements on the screen, change size, color and much more. It has full multitouch and 8 save slots for controller layouts. You can basically control every kind of robot with this, technically even multiopters(but with a touchscreen I wouldn't recommend this).
The app is programmed using Processing for Android, I made the user interface and multitouch handling from scratch in about 1200 lines of code. Ony the Bluetooth communication makes use of library.
The app is not available on the play store, you can find instructions and the download link to the .apk on my blog post:
http://coretechrobotics.blogspot.com/2014/08/a-universal-bluetooth-remote-app.html
https://www.youtube.com/watch?v=EWZH014sGAc