All Projects → benlau → Quickandroid

benlau / Quickandroid

Licence: apache-2.0
QML Theme and Component Library for Android

Labels

Projects that are alternatives of or similar to Quickandroid

Wellchat
WellChat is a Application that is a WeChat-like APP by qml.好吧~原谅我的英语。这个一个使用qml来仿制安卓微信的Qt程序,可以运行在安卓上。
Stars: ✭ 174 (-19.82%)
Mutual labels:  qml
Vodka
VOFA+ Plugins
Stars: ✭ 198 (-8.76%)
Mutual labels:  qml
Qtfirebase
An effort to bring Google's Firebase C++ API to Qt + QML
Stars: ✭ 208 (-4.15%)
Mutual labels:  qml
Learnopengl Qt3d
QML/Qt3D version of http://learnopengl.com samples
Stars: ✭ 183 (-15.67%)
Mutual labels:  qml
Qml Coding Guide
A collection of good practices when writing QML code
Stars: ✭ 196 (-9.68%)
Mutual labels:  qml
Projecteur
Linux Desktop Application for the Logitech Spotlight device (and similar devices) - Digital Laser Pointer
Stars: ✭ 199 (-8.29%)
Mutual labels:  qml
Mcmojave Kde
MacOSX Mojave like theme for KDE Plasma
Stars: ✭ 172 (-20.74%)
Mutual labels:  qml
Sortfilterproxymodel
A nicely exposed QSortFilterProxyModel for QML
Stars: ✭ 214 (-1.38%)
Mutual labels:  qml
Qml Rust
QML (Qt Quick) bindings for Rust language
Stars: ✭ 196 (-9.68%)
Mutual labels:  qml
Brig
User Interface Toolkits for Node.js
Stars: ✭ 208 (-4.15%)
Mutual labels:  qml
Stratifyqml
Stratify Labs UI QML framework inspired by Twitter Bootstrap
Stars: ✭ 183 (-15.67%)
Mutual labels:  qml
Asyncfuture
Use QFuture like a Promise object
Stars: ✭ 193 (-11.06%)
Mutual labels:  qml
Qtquickcontrols2
Qt Quick Controls 2
Stars: ✭ 203 (-6.45%)
Mutual labels:  qml
Qml
Introductions to key concepts in quantum machine learning, as well as tutorials and implementations from cutting-edge QML research.
Stars: ✭ 174 (-19.82%)
Mutual labels:  qml
Stackoverflow
my answers in Stack Overflow
Stars: ✭ 211 (-2.76%)
Mutual labels:  qml
Telephant
A lightweight but modern Mastodon client for the desktop
Stars: ✭ 174 (-19.82%)
Mutual labels:  qml
Qml Creative Controls
QML controls for creative applications and creative coding
Stars: ✭ 199 (-8.29%)
Mutual labels:  qml
Plasma Applet Eventcalendar
Stars: ✭ 217 (+0%)
Mutual labels:  qml
Qml Material
📖 Material Design implemented in QtQuick
Stars: ✭ 2,443 (+1025.81%)
Mutual labels:  qml
Qtmvvm
A mvvm oriented library for Qt, to create Projects for Widgets and Quick in parallel
Stars: ✭ 205 (-5.53%)
Mutual labels:  qml

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].