Theming 101 - Lancez votre série de couches de développement RRO

Theming sur Android a énormément mûri depuis ces dernières années, avec des APKs à modulation zip et autres, cédant la place à des solutions plus élégantes telles que RRO Layers et le tout nouveau Substratum. Bien que ce dernier soit nouveau et qu’il en soit encore à ses débuts, RRO Layers a explosé en termes de popularité et d’adaptabilité, la communauté contribuant de manière agressive au pool de superpositions.

Qu'est-ce que les couches RRO?

Runtime Resource Overlay était une solution développée en interne par Sony pour le fonctionnement de Xperia Themes et le prototypage rapide, dans la foulée des capacités de thématisation limitées d'Android Lollipop. Compte tenu de son potentiel excessif, quelques développeurs de la communauté se sont inspirés de la base de Sony pour créer le RRO Layers Framework qui fonctionnait sans effort avec la plupart des ROM standard légèrement modifiées.

Le framework Layers, ainsi que l'indique clairement son préfixe «RRO», remplace les ressources d'une application lors de l'exécution, permettant ainsi aux développeurs de s'y connecter et de thème une variété d'objets, tels que des chaînes de couleur, des dimensions, des valeurs entières utilisées par l'application et même des éléments dessinables., permettant aux utilisateurs expérimentés d’appliquer des applications thématiques sans faille sur leur téléphone avec un contrôle simple et précis.

Commencer

En raison de la simplicité avec laquelle le cadre RRO fonctionne, en échangeant des ressources à l'exécution, la création de thèmes Layers est une tâche simple et peu exigeante, les seules conditions préalables étant la connaissance des balises de base et une idée générale des chaînes de couleur. Cela, et une poignée d'outils, et vous êtes sur le point de construire quelque chose de beau, alors commençons -

Étape 1: Configuration de votre environnement de construction

Le processus de création d’une superposition nécessite un ensemble d’outils entièrement gratuits pouvant être configurés en quelques minutes. La liste comprend:

  • Studio Android
  • JDK
  • Un éditeur de texte, tel que Sublime Text ou Notepad ++
  • APKTool
  • Générateur de projet de couches

Étape 2: générer un projet de base

Le générateur de projet Layers est un outil pratique qui prend la partie la plus complexe de la création d’une superposition de l’équation - la configuration d’un nouveau projet. Limité à Windows uniquement, le petit logiciel prend un tas de paramètres tels que le nom du package de l’application cible, le nom de l’auteur, le nom du projet et l’icône du package, et génère un package Android Studio compatible Gradle, qui vous permet de processus de thématisation réelle.

Étape 3: Importez le projet dans Android Studio.

Lancez Android Studio - si c'est votre première fois, vous devrez le configurer et cliquer sur l'option "Ouvrir un projet Android Studio existant". Sélectionnez le dossier généré, qui se trouve généralement au même emplacement que le générateur, puis importez-le.

Étape 4: Terminez la configuration du projet

Vous devriez maintenant voir la fenêtre du projet Android Studio, avec la liste des fichiers dans le volet de gauche. La vue par défaut ne fonctionne pas très bien pour nous, alors allez-y et sélectionnez la vue Projet dans la liste déroulante. Gradle, le système de construction préféré d'Android démarrera à tout moment et commencera la configuration finale et les étapes de traitement. Une fois que c'est fait, allez dans le menu Générer et reconstruisez le projet pour qu'il soit du côté sans danger, en ignorant les avertissements de Gradle susceptibles d'être affichés.

Étape 5: Obtenez vos ressources

Pour cibler les ressources d'une application, vous devez mettre la main sur ses identifiants de ressources, définis dans les fichiers de ressources d'origine de l'APK. Comment peut-on les obtenir, demandez-vous? APKTool, naturellement. Le puissant outil permet de procéder à l’ingénierie inverse des fichiers d’application, en donnant le projet décompilé en sortie. Bien que le code Java reste sous sa forme simplifiée, les ressources sont reproduites exactement telles qu’elles apparaissent dans le projet avant la compilation. Une fois que vous avez décompilé un apk, copiez les fichiers de ressources de votre choix au même emplacement de votre projet, tel que colors.xml, pour modifier le schéma de couleurs de l'application.

Étape 6: Thème, thème, thème

Vous êtes maintenant prêt à commencer à thématiser votre superposition. Le processus est assez simple une fois que vous avez les fichiers de ressources de l'application, la majorité des efforts étant simplement la localisation de la ressource appropriée. Par exemple, si vous souhaitez modifier les couleurs principales et accentuées d'une application, vous devez localiser les ressources colorPrimary et colorAccent et modifier leurs valeurs hexadécimales. Cela fait, il vous suffit d'appuyer sur le bouton vert de la barre d'outils, de connecter un périphérique via adb et de laisser la superposition s'installer sur votre périphérique. Vous pourrez ensuite l'activer à partir de l'application Layers Manager et voir votre travail en action. Élémentaire, n'est-ce pas?

Remarques

Le processus de thématisation est extrêmement facile en soi, mais vous pouvez rencontrer des pièges qui pourraient vous prendre au dépourvu. Certains d'entre eux à surveiller sont -

Hex Couleur Cordes

Si vous ne connaissez pas le jeu de couleurs hexagonal, de nombreux outils sont disponibles en ligne. Ils vous permettent de choisir une couleur dans une palette et de générer le code hexadécimal correspondant, tel que HexColorTool et Adobe Kuler. générer une couleur complémentaire si vous êtes à l'affût d'une valeur colorAccent . En bref, la palette de couleurs hexagonale définit les couleurs dans les formats #RRGGBB ou #RGB, avec des valeurs allant de 00 à ff, les trois couleurs de base se combinant pour former une couleur définie. Vous pouvez parfois rencontrer des chaînes hexadécimales de huit caractères, mais ne vous inquiétez pas, car les deux caractères supplémentaires font partie du schéma et sont utilisés pour indiquer alpha, qui est la valeur de transparence de la couleur, et se présenter sous les formats #AARRGGBB ou #. ARGB.

Unités de dimension

Afin de prendre en charge plusieurs tailles d'écran, Android utilise une unité de mesure appelée dp ou dip, abréviation de pixels indépendants de la densité . Ces valeurs se traduisent par des valeurs de pixels réelles par la structure au moment de l'exécution et correspondent à l'ordre du compartiment de densité du périphérique, qui attribue un multiplicateur approprié à la valeur.

Changements Dessins

Changer les éléments dessinables est un processus apparemment simple, une seule image du même nom et de la même taille étant la seule exigence. Cependant, il faut garder à l'esprit le système de densité tirable d'Android, avec des outils tels qu'Android Asset Studio simplifiant ce processus avec des ensembles dessinables prédéfinis et des options de redimensionnement d'image.

Édition de style

Parfois, certains attributs peuvent ne pas être trouvés dans leurs fichiers respectifs, certains développeurs choisissant d'entrer des valeurs telles que les couleurs primaires et les couleurs d'accent directement dans le thème de l'application. Ces attributs se trouvent dans le fichier styles.xml, généralement sous le groupe AppTheme .

Construire des superpositions intéressantes? Vous avez une idée pour un thème séduisant? Faites-nous savoir dans les commentaires ci-dessous!