web-dev-qa-db-fra.com

Android: Changements de visibilité des enfants de MotionLayout

Je dois manquer quelque chose avec Android: changement de visibilité dans une mise en page de mouvement. Voici une version simplifiée de ma mise en page.

<MotionLayout>
 <ImageView Android:id="@+id/HeaderBackground" />
Bunch of image views, Text views that are constrainted to the HeaderBackground. 
<RecyclerView Android:visibility="visible">
<EditText Android:visibility="visible">
<CustomViewGroup1 Android:visibility="gone">
</MotionLayout>

J'ai une épreuve de motions qui définit une transition OnSwpe basée sur la vue Recycler pour réduire la hauteur du terrain de tête et cacher certaines des images/vues de texte (c'est-à-dire une barre d'outils de collision). Toutefois, s'il y a une erreur fatale, je souhaite montrer CustomViewgroup1 sur le dessus/en face de la recyclerview, mais basculer la visibilité de la RecyclerView à Gone et CustomViewgroup1 à visible ne fait pas le spectacle CustomViewgroup1.

Je pourrais déplacer le groupe CustomViewgroup sur le motionLayout et ajouter un Framelayout comme la racine de l'activité et cacher l'ensemble de la motionLayout. Mais cela est moins que idéal que je devrais copier la barre d'outils et les icônes de la barre d'outils. Donc, je suppose que la question concerne les changements de visibilité et potentiellement z de commander?

J'utilise androidx.constraintlayout:constraintlayout:2.0.0-beta2

34
scottyab

L'autre option en fonction de votre cas d'utilisation est de vous assurer que la vue que vous souhaitez contrôler la visibilité n'est pas un descendant direct de la motionLayout. Placez-le dans une vue sur le conteneur et vous pourrez définir la visibilité normale.

0
Victor Vector