Est-il un moyen de contrôler les points de vue à l'intérieur de la fenêtre des éléments d'en-tête?
Comme le dit le titre, je voudrais savoir si il existe un moyen pour contrôler les points de vue à l'intérieur de la NavigationView
en-tête? (Sauf pour l'ajout ou la suppression d'en-tête.)
Par exemple: Dans l'en-tête, j'ai un avatar de l'utilisateur. Par défaut, il affiche une image invité, mais une fois que l'utilisateur se connecte, le réel avatar sera montré.
Comment cela peut-il être réalisé?
- Son jusqu'à vous ce que vous gonfler à vue d'en-tête. Vous pouvez prendre
ImageView
à l'intérieur deLinearLayout
et changement ImageDrawable de façon dynamique . - Pourriez-vous montrer plus de détails, ex-tête avec juste textview à l'intérieur de FrameLayout.
- reportez-vous mon cette réponse .. stackoverflow.com/a/30660069/3544839 ...
- dans le lien ci-dessus-je changer textview donc, vous venez de prendre imageview et changement drawable au lieu de setText de textview..
- ah, je viens de voir votre réponse avant de. Mais comme je l'ai mentionné (sauf pour la suppression ou l'ajout d'en-tête), je me suis trouver un autre moyen de le faire. Peut-être une façon d'obtenir l'accès à l'en-tête de la fenêtre des éléments par le biais de la.
- Donc, pour que vous pouvez utiliser inflateHeaderView(int resID) de la fenêtre des éléments. Qui vous donnera un objet de Vue, en retour, de sorte que vous pouvez accéder à la pleine mise en page à l'aide de la vue de l'objet
- merci pour votre aide 🙂
- Jusqu'à présent, la meilleure réponse est Moikhan stackoverflow.com/questions/30621047/...
- vous pouvez voter jusqu'il y bro ...lolzzz
- veuillez cocher cette réponse pour la solution correcte stackoverflow.com/a/33365230/3792198
InformationsquelleAutor Lạng Hoàng | 2015-07-06
Vous devez vous connecter pour publier un commentaire.
Après la mise à jour de votre bibliothèque de prise en charge pour la version 23.1.1 ou au-dessus,
Vous pourriez le faire -
ou si vous avez plusieurs en-têtes
Ref : https://code.google.com/p/android/issues/detail?id=190226#c31
Puisque je ne peux pas accepter un commentaire comme une réponse. Donc, je repost Moinkhan réponse ici:
d'abord créer l'en-tête XML comme lay_header.xml
sur votre fichier java gonfler au-dessus de la tête dans un TextView. comme
Ajouter comme HeaderView
Thats it...
Vous pouvez aussi la voir sur: Personnalisation de la fenêtre des éléments - Ajout dynamique de headerView, Androïde de Soutien de la Bibliothèque de Conception
Merci beaucoup!
Et encore une fois, nous avons besoin d'une fonction qui permettra à l'utilisateur d'accepter un commentaire comme réponse!
L'autre façon de faire cela est d'utiliser la méthode "inflateHeaderView()" de la fenêtre des éléments de l'objet, comme ci-dessous (Après l'utilisation de "setContentView()"):
Après ce point, vous pouvez utiliser le bouton "headerLayout" pour accéder à des vues personnalisées dans votre en-tête de disposition, comme ci-dessous:
Dans mon cas, je suis en utilisant ButterKnife cadre d'injecter de Vue "la fenêtre des éléments", comme ceci:
Tout simplement essayer de trouver votre point de vue dans votre activité:
Cela fonctionne pour moi. Mon en-tête de la mise en page est:
Mon la fenêtre des éléments de l'Activité Mise en page est:
Et BTW, je suis tombé sur le problème lors du gonflage LinearLayout, où la mise en page params ne sont pas fournis:
Espère que cela aide.