Material Design Component and Support Library for Android

version 0.1.7

To install:

❯ qpm install com.github.benlau.quickandroid

QML Material Design Component and Support Library for Android

Build Status


  1. Set of UI components implemented Google's Material Design
  2. Support hardware "Back" key nagivation
  3. Dimension in "dp" unit. Auto-scale according to system's DP value.
  4. Provide page transition animation
  5. Drawable Image provider
  6. Load image resource from Android resource style file tree. (e.g drawable-xxxhdpi)
  7. Tint image at load time
  8. Choose the best image according to current resolution automatically.
  9. Messege queue between C++/Qt and Java/Android code
  10. Auto conversion between C++ and Java data type. No need to write in JNI.
  11. Theme / Style Engine
  12. A global Theme object. Set once for all components.
  13. Helper function to create your own derived style.
  14. "Apache license" - Free to use for commerical application

System Requirements

  1. Qt 5.4 or above

UI Components

ActionBar , Button , BottomSheet , Drawable , StateListDrawable
Page , PageStack , MaterialShadow , Text, TextField, DropDownMenu, Paper
TabBar, TabView, FloatingActionButton, ListItem, RaisedButton

Native Components


Utility Components

InverseMouseArea, RectToRectMatrix, SystemDispatcher, MouseSensor

Installation Instruction (qpm)

For user who are already using qpm from

  1. Run qpm install

    qpm install com.github.benlau.quickandroid

  2. Include vendor/vendor.pri in your .pro file

You may skip this step if you are already using qpm


Installation Instruction

  1. Download a release and bundle the folder within your source tree.

  2. Add this line to your profile file(.pro):

    include(quickandroid/quickandroid.pri) # You should modify the path by yourself


An example program is available in the folder of tests/quickandroidexample . You may build it by yourself or download the daily build from .

Remarks: Daily build for non-master branch may not be working.


Class Reference (Under Construction)

Quick Android Class Reference

If you have any question, please feel free to ask.


Automatic type convertion

Qt Java
int int
bool boolean
QString String
QVariantList List
QVariantMap Map


Apache License 2.0



  1. Migrate to build with gradle
  2. Upgrade min Qt version requirement to 5.5.1


  1. Upgrade min Qt version requirement to 5.6
  2. Depreate to use A.dp as measurement unit


  1. Switch
  2. NavigationDrawer
  3. Slider


  1. SwipeableListItem
  2. AssetsManager
  3. Haptic Feedback


Q. Looking for component that is not supported yet?

Please feel free to submit the request to our issue tracker. Moreover, you may take a look on other component library:

  1. Iktwo/components
  2. rschiang/material

Q. Looking for iOS Native Component?

  1. benlau/quickios

Q. Any library for ...?

  1. Sharing
  2. bdentino/Qtino.SharingKit

Q. How to create splash screen for Android?

See Complete Guide to Making a Splash Screen for your QML Android Application — Medium

Related Projects

  1. benlau/quickflux - Message Dispatcher / Queue solution for QML
  2. benlau/quickpromise - Promise library for QML
  3. benlau/quickcross - QML Cross Platform Utility Library
  4. benlau/qsyncable - Synchronize data between models
  5. benlau/testable - QML Unit Test Utilities
  6. benlau/qtci - A set of scripts to install Qt in Linux command line environment (e.g travis)

Ben Lau

View on Github

License: APACHE_2_0

Today 1
This week 1
This month 3
This year 109
Total 109