• Stars
    star
    234
  • Rank 171,630 (Top 4 %)
  • Language QML
  • License
    Apache License 2.0
  • Created about 10 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

QML Theme and Component Library for Android

QuickAndroid will be splitted into multiple projects. One of the fork is AndroidNative.pri. It offer native Java components and system service in a more easy installable way. Site: https://github.com/benlau/androidnative.pri

QML Material Design Component and Support Library for Android

Features

  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

ImagePicker

Utility Components

InverseMouseArea, RectToRectMatrix, SystemDispatcher, MouseSensor

Installation Instruction (qpm)

For user who are already using qpm from qpm.io

  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

include(vendor/vendor.pri)

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

Java Setup Guide

In order to get native components like image picker, you need to setup the Java environment according to this guide quickandroid/java-setup-guide.md at master · benlau/quickandroid

Demonstration

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

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

Screenshot

Class Reference (Under Construction)

Quick Android Class Reference

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

SystemDispatcher

Automatic type convertion

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

License

Apache License 2.0

TODO

v0.1.7

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

v0.1.8

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

v1.0

  1. Switch
  2. NavigationDrawer
  3. Slider

Wish

  1. SwipeableListItem
  2. AssetsManager
  3. Haptic Feedback

FAQ

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

Libaries

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

Tools

  1. SparkQML - QML Document Viewer for State and Transition Preview

More Repositories

1

quickflux

A Flux implementation for QML
C++
315
star
2

asyncfuture

Use QFuture like a Promise object
C++
241
star
3

ihatecontentfarms

Content Farm Blocker Chrome Extension / 封鎖內容農場Chrome插件
JavaScript
187
star
4

quickpromise

Quick Promise - QML Promise Library
QML
174
star
5

quickios

QML Theme and Component Library for iOS
QML
164
star
6

qtci

Collection of scripts to build Qt application in command line environment
Shell
160
star
7

qsyncable

A solution of nested Json List Model
C++
112
star
8

androidnative.pri

Calling Android functions from Qt without using JNI
Java
101
star
9

sparkqml

SparkQML - A QML Document Viewer for State and Transition Preview
JavaScript
100
star
10

nactor

Node.js actor model framework for game
JavaScript
73
star
11

testable

QT/QML Test Runner and Utilities
C++
55
star
12

quickfuture

Using QFuture in QML
C++
51
star
13

fontawesome.pri

Using FontAwesome in QML
QML
51
star
14

quickcross

QML Cross Platform Utility Library
C++
49
star
15

dquest

DQuest - The C++ ORM (Object-relational mapping) for Qt framework.
C++
41
star
16

qtshell

Manipulate files by a shell command style API
C++
31
star
17

qredux

Redux for QML
JavaScript
25
star
18

qtandroidexamplecode

Example code of Qt for Android
QMake
19
star
19

sketchqml

Export to a QML in SketchApp
JavaScript
19
star
20

biginteger

QML BigInteger library
C++
18
star
21

underline

A C++ utility library provides useful functional programming helpers like lodash.js
C++
18
star
22

joplin-plugin-dddot

A Joplin plugin to provide a set of tools like recent notes, shortcuts, scratchpad, and .... in a single sidebar.
TypeScript
17
star
23

ipylivebash

Run shell script in Jupyter with live output
TypeScript
11
star
24

memoinjo

Stick memo on any website
JavaScript
10
star
25

viewstack.pri

ViewStack.pri - A stateless StackView
QML
9
star
26

tinyboy

Tinyboy - A 3D printer designed for education
CSS
8
star
27

quickjsm

A QML Port of Javascript State Machine Library
JavaScript
8
star
28

dualless

Dualless is a poor man's dual monitor solution , a extension for Chrome.
JavaScript
8
star
29

quickflux-project-template

Project template using QuickFlux with unit tests
C++
7
star
30

material2

Light Weight Material Design Components based on QQC2
QML
7
star
31

junkcode

Junkcode for demonstration
QML
7
star
32

qpm-qt-creator-project-template

Qt Creator Project Templates with qpm
C++
6
star
33

hotloader.pri

Hot Reload QML Files
C++
6
star
34

testrunner

Qt Test Runner - A tiny tool to execute multiple QTestLib application and combine the testing result into a summary report.
C++
4
star
35

jupyter-for-devops-demo

A demo project to show how to use Jupyter for DevOps
Jupyter Notebook
4
star
36

joplin-garden-worker

Export notes from Joplin to build a digital garden website
JavaScript
4
star
37

gaescripts

A collection of scripts for GAE application maintenance
Python
3
star
38

qtsdkdocimg

Collection of QtSDK Docker Image Build Scripts
Shell
3
star
39

linne-analyzer

Python
3
star
40

kifier

The missing tool to turn your Web 2.0 application into Wiki
JavaScript
3
star
41

openstandkit

Open Design Portable Standing Desk
3
star
42

qml-rebase-source

A script to update the source attributes within a QML file
JavaScript
2
star
43

snapcat

AngelHack Project
Python
2
star
44

bnloadingpromise

Angular Loading Promise
JavaScript
2
star
45

qtbugstatus

Qt Bug Status Tracker
JavaScript
2
star
46

joplin-plugin-tag-links

Insert tag links to Joplin note
TypeScript
2
star
47

moblin-image-creator.jaunty

Moblin Image Creator for Jaunty
Python
2
star
48

asyncapi-live-reload-demo

Edit asyncapi.yml then generate and reload the HTML doc automatically
2
star
49

sparkqml-website

CSS
1
star
50

sparkqml-builder

Shell
1
star
51

blockwork

A Project in EOS Hackathon
JavaScript
1
star
52

react-redux-webpack-mocha-starter-kit

A starter project for React Redux
JavaScript
1
star
53

l

App Link to Universal Web Link
1
star