Vue personnalisée faite de plusieurs vues
J'ai un ensemble de points de vue, je veux toujours utiliser ensemble. Un exemple de ce que peut être quelque chose comme:
<LinearLayout>
<TextView />
<EditView />
</LinearLayout>
L'affichage de texte est une invite, et l'affichage de la modification de la réponse. Je voudrais donner à cette combinaison d'un nom, et être en mesure d'utiliser ce nom à la pop en xml. J'aimerais qu'elle soit un affichage personnalisé afin que je puisse le mettre gentiment dans une classe et de créer diverses fonctions utilitaires pour elle. Est-il possible que je peux le faire? Je sais que je pourrais sous-classe LinearLayout et de créer des enfants dynamiquement dans le code java, mais qui perd, j'ai la possibilité d'effectuer facilement des modifications via xml. Est-il une meilleure solution?
Et oui, j'ai aussi des endroits que je veux faire ce qui sont plus que juste des invites.
source d'informationauteur Gabe Sechan
Vous devez vous connecter pour publier un commentaire.
Cet exemple est pour un horizontal nombre de sélecteur de widget, mais c'est le même concept.
D'abord créer le XML de mise en page pour votre composant personnalisé
Puis créer la classe java
Ajouter que la logique vous avez besoin pour que la classe java, alors vous pouvez simplement inclure le composant personnalisé dans votre XML de mise en page comme ceci:
Consultez ce lien pour plus d'informations: http://developer.android.com/guide/topics/ui/custom-components.html#compound
Utilisation Composé de commandes à cette fin. Il y a beaucoup de didacticiels et des exemples à ce sujet. Bonne chance )
Mettre que du XML dans une mise en page fichier XML et de gonfler la vue à l'aide d'un inflater quand vous le souhaitez.
Une fois que vous avez la vue, vous pouvez écrire une classe utilitaire qui accepte ce point de vue et effectue des opérations sur elle. Récupérer le texte et modifier la vue en utilisant
findViewById()
ou de stocker les références à d'autres points de vue à l'aide de la ViewHolder modèle