Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Showcase
  4. QrwAndroid - QML plugin
QtWS25 Last Chance

QrwAndroid - QML plugin

Scheduled Pinned Locked Moved Showcase
qmlandroidextensionpluginqrwandroidgoogle
15 Posts 5 Posters 12.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • raven-worxR Offline
    raven-worxR Offline
    raven-worx
    Moderators
    wrote on last edited by raven-worx
    #1

    [NOT YET RELEASED]
    This topic for now just provides news and updates of the development progress of the plugin. Follow this thread if you are interested.


    QrwAndroid - QML extension plugin

    • BUG/ISSUE TRACKER
    • DOCS

    The plan is to make a plugin which eases the development of native-looking Android apps with Qt and also provide the most commonly used features to developers without worrying too much about the proper integration and setup.
    Code even less, create even more ;)

    Planned Features:

    • Android QML elements (pure QML elements with Android look-and-feel - to be used on any platform also Qt runs
      • following Google's material design for layouts (dp margins, etc.) and components
      • BottomSheets
      • FloatingActionButton
      • Cards
      • Sliders
      • Swipe to refresh (partly implemented)
      • Loading/Progress Indicators
      • Date/Time pickers
      • ListItems
      • Left/Right swipe actions
      • GridList
      • ExpansionPanels
      • Divider
      • Dialogs (implemented)
      • BottomNavigation
      • TextFields
      • Magnifier
      • SnackBars
      • Chips
      • Switch
      • SideNav (Drawer)
      • App/Nav bar
      • Fingerprint Dialog
      • Unlock-Pattern control
      • ScrollBar
      • Steppers
      • GridFlow (Masonry layout) (implemented)
      • Inheritable customizable Style properties (implemented)
    • Misc. helpful Android utilities
      • adding/removing a file to the device's media library
      • control of the device's notification LED
      • vibration notification (implemented)
      • Sharing of data with other Android apps (Intents)
      • Device infos (isTablet, isPhone, isTV, .... ) (implemented)
      • DP/density calculation (implemented)
      • runtime App Permission checking
      • enable/disable dim lock of screen
      • PlayStore rate notifier
      • fix screen orientation (during runtime)
      • device fingerprint authentication
      • support for AndroidTV (Leanback)
      • support for Android Wear

    The plugin contains this basic Android feature set. Additionally there are addons available with feature sets of GOOGLE, AMAZON, FACEBOOK (maybe even more will follow in the far future).

    GOOGLE

    • AdMob support (Banners only) (implemented)
    • Google Cast support (mostly implemented)
      • stream any url to chromecast / Google Cast receiver (implemented)
      • stream local files (via a light-weight built-in Webserver) to a chromecast / Google Cast receiver (implemented)
    • Google Sign-in
    • Google Drive
      • provided items model
    • Google Analytics
    • Google Games

    AMAZON

    • Support for FireOS devices (following Amazon's UX guideline)
    • Amazon Fling (mostly implemented)
    • Login with Amazon (implemented)
    • Mobile Ads (implemented)
    • ADM (Amazon Device Messaging)

    FACEBOOK

    • Facebook Login
      • QML login dialog
    • QML share dialog

    The addons are also distributed as QML extension plugins (with dependency to the base plugin).

    Follow this topic to keep up-to-date with the progress.
    I do not know yet when it will be finished, but i will post it here when it reaches alpha/beta phase for testing if someone is interested. Also it's not yet determined if it will be commercial (small license fee) or open-source.

    Also if you are interested in this plugin you may want to rate up this post so i can evaluate how big the interest in it is and keep up the energy i put into it. ;)
    Also you may want to add some wishes to the feature set? Let me know and i'll see what i can do.

    --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
    If you have a question please use the forum so others can benefit from the solution in the future

    1 Reply Last reply
    10
    • GrecKoG Offline
      GrecKoG Offline
      GrecKo
      Qt Champions 2018
      wrote on last edited by
      #2

      Have you seen https://github.com/lirios/fluid/ ?

      raven-worxR 1 Reply Last reply
      0
      • GrecKoG GrecKo

        Have you seen https://github.com/lirios/fluid/ ?

        raven-worxR Offline
        raven-worxR Offline
        raven-worx
        Moderators
        wrote on last edited by
        #3

        @GrecKo
        yes i am aware that there are various other libraries with a similiar scope available already .
        But nevertheless i am planning some controls and features i couldn't find in any of them.

        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
        If you have a question please use the forum so others can benefit from the solution in the future

        1 Reply Last reply
        1
        • GrecKoG Offline
          GrecKoG Offline
          GrecKo
          Qt Champions 2018
          wrote on last edited by
          #4

          I don't want to force you on anything, but wouldn't collaborating with Fluid make more sense ? at least for the UI controls.
          A lot of elements are already present there and it's a little bit more established.

          For example, I implemented some Steppers internally that I would rather contribute to Fluid because it has a larger audience ( if I take the time to actually clean my code and make it more generic).

          raven-worxR 1 Reply Last reply
          1
          • GrecKoG GrecKo

            I don't want to force you on anything, but wouldn't collaborating with Fluid make more sense ? at least for the UI controls.
            A lot of elements are already present there and it's a little bit more established.

            For example, I implemented some Steppers internally that I would rather contribute to Fluid because it has a larger audience ( if I take the time to actually clean my code and make it more generic).

            raven-worxR Offline
            raven-worxR Offline
            raven-worx
            Moderators
            wrote on last edited by raven-worx
            #5

            @GrecKo said in QrwAndroid - QML plugin:

            I don't want to force you on anything, but wouldn't collaborating with Fluid make more sense ? at least for the UI controls.

            Thats not that easy. Most elements of mine are heavily webbed with my C++ classes (self-inheriting AndroidStyle as attached property, various Util classes, etc).

            And i am also not forcing anyone to use my library ;)
            At the end everyone has to decide on it's own which lib fits the best for his/her requirements (regarding costs and/or provided feature-set).

            --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
            If you have a question please use the forum so others can benefit from the solution in the future

            1 Reply Last reply
            1
            • GrecKoG Offline
              GrecKoG Offline
              GrecKo
              Qt Champions 2018
              wrote on last edited by
              #6

              Fair enough, I understand and respect your position : )

              1 Reply Last reply
              1
              • raven-worxR Offline
                raven-worxR Offline
                raven-worx
                Moderators
                wrote on last edited by
                #7

                bump.
                Updated state of implemented features.

                --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                If you have a question please use the forum so others can benefit from the solution in the future

                raven-worxR 1 Reply Last reply
                1
                • raven-worxR raven-worx

                  bump.
                  Updated state of implemented features.

                  raven-worxR Offline
                  raven-worxR Offline
                  raven-worx
                  Moderators
                  wrote on last edited by raven-worx
                  #8
                  • implemented Google Mobile Ads (Banners only)
                    (The native AdView android view is rendered into an QML item)
                  • dropped QZXing integration - since it can be easily added by the enduser on demand

                  --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                  If you have a question please use the forum so others can benefit from the solution in the future

                  1 Reply Last reply
                  1
                  • Attila SantoA Offline
                    Attila SantoA Offline
                    Attila Santo
                    wrote on last edited by
                    #9

                    this plugin sounds great. I would love to see your masonry implementation.

                    raven-worxR 1 Reply Last reply
                    0
                    • Attila SantoA Attila Santo

                      this plugin sounds great. I would love to see your masonry implementation.

                      raven-worxR Offline
                      raven-worxR Offline
                      raven-worx
                      Moderators
                      wrote on last edited by raven-worx
                      #10

                      @Attila-Santo
                      i will release the plugin for testing purposes during alpha/beta phase at some point when it makes sense.
                      Watch this thread to get the notification.

                      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                      If you have a question please use the forum so others can benefit from the solution in the future

                      Attila SantoA 1 Reply Last reply
                      1
                      • K Offline
                        K Offline
                        kangherr
                        wrote on last edited by
                        #11

                        @GrecKo said in QrwAndroid - QML plugin:

                        https://github.com/lirios/fluid/

                        Noted

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          Davidjames3321
                          Banned
                          wrote on last edited by Davidjames3321
                          #12
                          This post is deleted!
                          1 Reply Last reply
                          0
                          • raven-worxR raven-worx

                            @Attila-Santo
                            i will release the plugin for testing purposes during alpha/beta phase at some point when it makes sense.
                            Watch this thread to get the notification.

                            Attila SantoA Offline
                            Attila SantoA Offline
                            Attila Santo
                            wrote on last edited by
                            #13

                            @raven-worx did your plugin ever make it to alpha / beta?

                            I would still love to see the implementation of your masonry

                            raven-worxR 1 Reply Last reply
                            1
                            • Attila SantoA Attila Santo

                              @raven-worx did your plugin ever make it to alpha / beta?

                              I would still love to see the implementation of your masonry

                              raven-worxR Offline
                              raven-worxR Offline
                              raven-worx
                              Moderators
                              wrote on last edited by
                              #14

                              @Attila-Santo
                              Hi, no i didnt find time to finish this plugin.

                              Anyway here is the implementation of this layout:
                              https://gist.github.com/raven-worx/28a737f7333480cfac418b42480093fc

                              Example:

                              GridFlow {
                                  anchors.fill: parent
                                  
                                  columnCount: 2
                                  horizontalSpacing: 5
                                  verticalSpacing: 5
                                  spanningEnabled: true
                                  margin: 5
                                  rowHeight: 50
                                  keepChildOrder: true
                              
                                  Rectangle {
                                        GridFlow.sizeHint: Qt.size(40,50)
                                        GridFlow.spanningChance: 0.2
                                        GridFlow.minimumHeight : 10
                                        GridFlow.maximumHeight: 10
                                  }
                              }
                              

                              The implementation can easily adapted to set the row/column span explicitly via the attached property class and applied in the GridFlow::doLayout() method.

                              --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                              If you have a question please use the forum so others can benefit from the solution in the future

                              Attila SantoA 1 Reply Last reply
                              3
                              • raven-worxR raven-worx

                                @Attila-Santo
                                Hi, no i didnt find time to finish this plugin.

                                Anyway here is the implementation of this layout:
                                https://gist.github.com/raven-worx/28a737f7333480cfac418b42480093fc

                                Example:

                                GridFlow {
                                    anchors.fill: parent
                                    
                                    columnCount: 2
                                    horizontalSpacing: 5
                                    verticalSpacing: 5
                                    spanningEnabled: true
                                    margin: 5
                                    rowHeight: 50
                                    keepChildOrder: true
                                
                                    Rectangle {
                                          GridFlow.sizeHint: Qt.size(40,50)
                                          GridFlow.spanningChance: 0.2
                                          GridFlow.minimumHeight : 10
                                          GridFlow.maximumHeight: 10
                                    }
                                }
                                

                                The implementation can easily adapted to set the row/column span explicitly via the attached property class and applied in the GridFlow::doLayout() method.

                                Attila SantoA Offline
                                Attila SantoA Offline
                                Attila Santo
                                wrote on last edited by
                                #15

                                @raven-worx you're a hero 🙌

                                1 Reply Last reply
                                0

                                • Login

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved