Truffle Shuffle est une bibliothèque de galeries de cartes de composants d'interface utilisateur Android avec une animation amusante. La galerie est facilement personnalisable et est pilotée par les données en fonction du nombre d'objets dans un tableau et du contenu à l'intérieur de ces objets. La galerie de cartes utilise un ViewGroup Android personnalisé avec des attributs de vue personnalisés pour spécifier la taille des cartes individuelles en pourcentage de la taille du ViewGroup. Cette galerie de cartes est utilisée sur l'application mobile d'ImpôtRapide dans la gamme de produits. Truffle Shuffle est écrit à 100% en Kotlin !
Pour exécuter l'exemple de projet, clonez le référentiel et exécutez l'application Android viaStudio Androidsur un émulateur. Vous pouvez jouer avec l'exemple en
- Modification de la disposition à l'intérieur des cartes dans app/src/main/res/layout/card_layout.xml
- Modification du nombre de cartes dans le tableau dans getCardDetails() dans app/src/main/kotlin/com/intuit/truffle/shuffle/MainActivity.kt
- Modification des pourcentages du groupe de vues dans app/src/main/res/values/card_view_group_percentages.xml
Pour contribuer à ce projet, assurez-vous que le code validé correspond aux normes de formatage de ce projet.
Pour reformater ou vérifier que le code validé est conforme, suivez l'une des options suivantes :
Utiliser les tâches Gradle (recommandé -docs ktlint):
./gradlew ktlint
Use this command to check the formatting rules are covered
/gradlew ktlintFormat
Use this command to re-format code that is not compliant with this project's formatting rules.
Utiliser le moteur ktlint (docs ktlint):
ktlint
Use this command to check the formatting rules are covered
ktlint "src/**/*.kt" "!src/**/*Test.kt"
Check only certain locations (prepend ! to negate the pattern)
ktlint -F
Use this command to re-format code that is not compliant with this project's formatting rules. (if some errors cannot be fixed automatically they will be printed to stderr)
ktlint -F "src/**/*.kt"
Use this command to re-format certain locations (prepend ! to negate the pattern) . (if some errors cannot be fixed automatically they will be printed to stderr)
ktlint --install-git-pre-commit-hook
Install git hook to automatically check files for style violations on commit.
Pour l'ajouter à votre propre application Android, procédez comme suit :
-
Ajoutez la dépendance au fichier build.gradle de votre projet sous les dépendances :
dependencies { implementation 'com.intuit.truffleshuffle:truffleshuffle:1.0.0' }
Et assurez-vous que jcenter() est ajouté à votre application build.gradle
repositories {
jcenter()
}
- Ajoutez le com.intuit.truffleshuffle.CardViewGroup au fichier xml où vous voulez la galerie de cartes, comme dans app/src/main/res/layout/activity_main.xml
- ajoutez les pourcentages que vous souhaitez aux attributs personnalisés du CardViewGroup dans le fichier xml
- personnalisé:tableau de bordCardHeightPercentage, personnalisé:widthPercentage, personnalisé:topSpacingPercentage, personnalisé:bottomSpacingPercentage
- ajoutez les pourcentages que vous souhaitez aux attributs personnalisés du CardViewGroup dans le fichier xml
- Ajoutez une mise en page xml (card_layout.xml) pour le contenu de vos cartes similaire à app/src/main/res/layout/card_layout.xml
- Créez un dossier cardGallery avec 2 fichiers :
- CardContent similaire à app/src/main/kotlin/com/intuit/truffle/shuffle/cardGallery/CardContent.kt
- Ceci est votre objet de données pour le contenu de la carte
- CustomizeAdapter similaire à app/src/main/kotlin/com/intuit/truffle/shuffle/cardGallery/CustomizeAdapter.kt
- Le constructeur doit prendre une ArrayListet devrait étendre CardContentAdapter
- Remplacez la fonction getViewContent() pour définir le contenu des données dans cardContent sur les vues de votre card_layout.xml, c'est-à-dire. définir le texte dans un textView
- CardContent similaire à app/src/main/kotlin/com/intuit/truffle/shuffle/cardGallery/CardContent.kt
- Dans l'activité où vous utiliserez ce composant d'interface utilisateur :
- Instanciez un CustomizeAdapter que vous venez de définir et transmettez un arrayList de CardContents et l'ID de ressource à l'intérieur de la carte, c'est-à-dire. R.layout.card_layout
- Appelez setupAdapter() sur le CustomizeAdapter que vous venez de créer avec CardViewGroup en utilisant findViewById()
- Le composant d'interface utilisateur TruffleShuffle est maintenant prêt à être utilisé !
- Si vousBesoin d'aide, ouvrez un problème et marquez comme
help wanted
. - Si voustrouvé un bogue, ouvrez un problème et marquez comme
bug
. - Si vousavoir une demande de fonctionnalité, ouvrez un problème et marquez comme
feature
. - Si vousenvie de contribuer, veuillez vous référer à la documentation de contribution et soumettre une demande d'extraction.
- Afin de soumettre une pull request, veuillez bifurquer ce référentiel et soumettre un PR à partir de votre référentiel bifurqué.
- Ayez un message détaillé sur ce que votre PR corrige/améliore/ajoute.
- Chaque PR doit obtenir une approbation avant de fusionner.
Merci à ces gens formidables (clé emoji):
Ce projet fait suite àtous les contributeursspécification. Les contributions de toute nature sont les bienvenues !