IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Qt 5.4 proposera un style Android natif
Tant pour Qt Quick que Qt Widget, sans utiliser Ministro

Le , par arnolddumas

20PARTAGES

2  0 
Comme vous l'avez peut-être entendu, Qt 5.4, qui sera prochainement disponible en version finale, introduit un nouveau style pour Android. Cet article se veut pragmatique, en exposant les nouveautés pour vos applications Android développées avec Qt.

Qt Widgets


Il était par le passé possible d'avoir des applications reposant sur Qt Widgets ayant une apparence native grâce à Ministro, un système installant les bibliothèques Qt au niveau du système Android. Dans Qt 5.4, une partie du code source de Ministro a été incorporée dans le module de plate-forme pour Android. Cela permet aux applications Qt d'avoir une apparence native, même si Ministro n'est pas installé. Ceci étant, les applications voulant utiliser des fonctionnalités additionnelles proposées par Ministro pourront continuer à le faire. Pour résumer la situation, les applications utilisant Qt Widgets auront une apparence native, indépendamment de la façon dont Qt aura été distribué.

Contrôles Qt Quick

Une nouveauté majeure de Qt 5.4 est l'introduction d'un nouveau style pour les applications utilisant les contrôles Qt Quick. Vous pouvez en avoir un aperçu via la capture d'écran de l'application de démonstration, tournant sur un Nexus 5 sous Android KitKat 4.4. Par ailleurs, il est à noter que ce style Android nécessite Android 3.0 (API niveau 11) ou ultérieur. Sur des appareils plus anciens, un thème générique reposant sur QML sera utilisé à la place.


Android 5.0

Les plates-formes mobiles évoluent à un rythme effréné. Alors que les équipes travaillaient dur pour fournir un style générique fonctionnant sur Android 3.0 et ultérieur, une nouvelle version majeure, à savoir Android 5.0 « Lollipop », fut introduite, ainsi qu'un nouveau thème, le « Material design ». Ce nouveau thème introduit tellement de nouveautés qu'il n'a pas été possible de toutes les prendre en compte à temps.

Ainsi, le support du thème « Material » n'est malheureusement pas à un niveau satisfaisant pour le moment. Les applications reposant sur Qt 5.4.0 utiliseront donc le thème par défaut, à savoir Holo, sur Android 5.0. Les problèmes les plus visibles sont : des effets de transitions manquants, des couleurs de teinte manquantes, des effets de vague, ainsi que des animations indéfinies et/ou bloquantes (QTBUG-42520 et QTBUG-42644).


Pour les plus curieux d’entre vous, qui ne peuvent pas attendre que ces défauts soient corrigés, vous pouvez dès à présent utiliser le thème « Material » en éditant le fichier AndroidManifest.xml comme suit :

Code xml : Sélectionner tout
1
2
3
4
5
6
<manifest> 
    <applicationandroid:theme="@android:style/Theme.Material.Light"></application></manifest>

Cette méthode peut aussi être utilisée pour utiliser la version claire ou foncée du thème Holo : il faudra alors utiliser les chaînes « Theme.Holo.Light » et « Theme.Holo » respectivement.

Article original : « Native Android style in Qt 5.4 »

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de pulsar67
Futur Membre du Club https://www.developpez.com
Le 11/12/2014 à 13:10
Disponible depuis hier 13h (heure française) en version finale, installé hier soir, le passage de mes programmes 5.3 en 5.4 s'est passé sans encombres. Je n'ai pas encore testé les contrôles Android, mais ça ne saurait tarder.
0  0