Sylvaner Posté(e) 17 juin 2014 Share Posté(e) 17 juin 2014 Bonjour, Je viens de réaliser un petit programme qui fait une recherche dans tous les fichiers XML d'un répertoire à la recherche de tous les doublons des attributs dans le but de réaliser des styles (pour les thèmes). C'est un actuellement un jar que l'ont lance dans le répertoire concerné ou en l'indiquant en paramètre. J'ai mis en ligne le code source avec le fichier JAR sur GitHub et j'aimerai savoir si des gens sont intéressés pour voir si ça vaut le coup de l'améliorer ou pas :). Un exemple restant plus parlant, j'ai écrit une petite page volontairement répétitive : <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.layouttest.MainActivity" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/find" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="Rechercher" /> <EditText android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_toLeftOf="@+id/find" android:layout_centerVertical="true" android:inputType="text"/> </RelativeLayout> <TextView android:text="Une option : " android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#FF0000" android:gravity="center_horizontal"/> <RadioGroup android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal"> <RadioButton android:text="Oui" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="0.5"/> <RadioButton android:text="Non" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="0.5"/> </RadioGroup> <TextView android:text="Une autre option : " android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#FF0000" android:gravity="center_horizontal"/> <RadioGroup android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal"> <RadioButton android:text="Oui" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="0.5"/> <RadioButton android:text="Non" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="0.5"/> </RadioGroup> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:text="Un label : " android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="wrap_content"/> <Spinner android:id="@+id/spinner" android:layout_width="0dp" android:layout_weight="0.66" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:text="Un label : " android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="wrap_content"/> <EditText android:text="A remplir" android:layout_width="0dp" android:layout_weight="0.66" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="horizontal"> <ImageView android:background="@drawable/ic_launcher" android:layout_width="128dip" android:layout_height="128dip" android:scaleType="fitCenter"/> <ImageView android:background="@drawable/ic_launcher" android:layout_width="128dip" android:layout_height="128dip" android:scaleType="fitCenter"/> <ImageView android:background="@drawable/ic_launcher" android:layout_width="128dip" android:layout_height="128dip" android:scaleType="fitCenter"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:text="Bouton 1" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="wrap_content"/> <Button android:text="Bouton 2" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="wrap_content"/> <Button android:text="Bouton 3" android:layout_width="0dp" android:layout_weight="0.33" android:layout_height="wrap_content"/> </LinearLayout> </LinearLayout> </ScrollView> Voici ce que vous indiquera le programme : Occurence : 3 Group of attributes : android:background="@drawable/ic_launcher" android:layout_height="128dip" android:layout_width="128dip" android:scaleType="fitCenter" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:gravity="center_horizontal" android:layout_height="wrap_content" android:layout_width="match_parent" android:textColor="#FF0000" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.5" android:layout_width="0dp" android:text="Oui" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.5" android:layout_width="0dp" android:text="Non" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.33" android:layout_width="0dp" android:text="Un label : " Concerned files : /path/res/layout/activity_main.xml Occurence : 6 Group of attributes : android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal" Concerned files : /path/res/layout/activity_main.xml Occurence : 5 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.33" android:layout_width="0dp" Concerned files : /path/res/layout/activity_main.xml Occurence : 4 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.5" android:layout_width="0dp" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:gravity="center_horizontal" android:layout_height="wrap_content" android:layout_width="match_parent" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:background="@drawable/ic_launcher" android:layout_height="128dip" android:layout_width="128dip" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:background="@drawable/ic_launcher" android:layout_height="128dip" android:scaleType="fitCenter" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:background="@drawable/ic_launcher" android:layout_width="128dip" android:scaleType="fitCenter" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:layout_height="128dip" android:layout_width="128dip" android:scaleType="fitCenter" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:gravity="center_horizontal" android:layout_height="wrap_content" android:textColor="#FF0000" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:gravity="center_horizontal" android:layout_width="match_parent" android:textColor="#FF0000" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_width="match_parent" android:textColor="#FF0000" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.5" android:text="Oui" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_width="0dp" android:text="Oui" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_weight="0.5" android:layout_width="0dp" android:text="Oui" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.5" android:text="Non" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_width="0dp" android:text="Non" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_weight="0.5" android:layout_width="0dp" android:text="Non" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.33" android:text="Un label : " Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_width="0dp" android:text="Un label : " Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_weight="0.33" android:layout_width="0dp" android:text="Un label : " Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.66" android:layout_width="0dp" Concerned files : /path/res/layout/activity_main.xml Occurence : 11 Group of attributes : android:layout_height="wrap_content" android:layout_width="0dp" Concerned files : /path/res/layout/activity_main.xml Occurence : 10 Group of attributes : android:layout_height="wrap_content" android:layout_width="match_parent" Concerned files : /path/res/layout/activity_main.xml Occurence : 6 Group of attributes : android:layout_height="wrap_content" android:orientation="horizontal" Concerned files : /path/res/layout/activity_main.xml Occurence : 6 Group of attributes : android:layout_width="match_parent" android:orientation="horizontal" Concerned files : /path/res/layout/activity_main.xml Occurence : 5 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.33" Concerned files : /path/res/layout/activity_main.xml Occurence : 5 Group of attributes : android:layout_weight="0.33" android:layout_width="0dp" Concerned files : /path/res/layout/activity_main.xml Occurence : 4 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.5" Concerned files : /path/res/layout/activity_main.xml Occurence : 4 Group of attributes : android:layout_weight="0.5" android:layout_width="0dp" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:gravity="center_horizontal" android:layout_height="wrap_content" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:gravity="center_horizontal" android:layout_width="match_parent" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:background="@drawable/ic_launcher" android:layout_height="128dip" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:background="@drawable/ic_launcher" android:layout_width="128dip" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:background="@drawable/ic_launcher" android:scaleType="fitCenter" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:layout_height="128dip" android:layout_width="128dip" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:layout_height="128dip" android:scaleType="fitCenter" Concerned files : /path/res/layout/activity_main.xml Occurence : 3 Group of attributes : android:layout_width="128dip" android:scaleType="fitCenter" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:gravity="center_horizontal" android:textColor="#FF0000" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:textColor="#FF0000" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_width="match_parent" android:textColor="#FF0000" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:text="Oui" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_weight="0.5" android:text="Oui" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_width="0dp" android:text="Oui" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:text="Non" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_weight="0.5" android:text="Non" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_width="0dp" android:text="Non" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:text="Un label : " Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_weight="0.33" android:text="Un label : " Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_width="0dp" android:text="Un label : " Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_height="wrap_content" android:layout_weight="0.66" Concerned files : /path/res/layout/activity_main.xml Occurence : 2 Group of attributes : android:layout_weight="0.66" android:layout_width="0dp" Concerned files : /path/res/layout/activity_main.xml Merci pour vos réponses. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sylvaner Posté(e) 21 juin 2014 Auteur Share Posté(e) 21 juin 2014 Rebonjour, Voici la version "plugin eclipse" pour ceux qui veulent essayer : https://github.com/Sylvaner/LayoutInspector/blob/master/LayoutInspector_1.0.0.201406211518.jar Il faut copier ce fichier dans le répertoire plugin d'eclipse. Ensuite il faut faire un clic droit sur le répertoire ou le fichier, Layout inspector -> Inspect the... Voici un exemple de résultat (pour le fichier du post précédent) : Le lien Git : https://github.com/Sylvaner/LayoutInspector Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.