Android, que fait l’atsortingbut clipToPadding?

Je voudrais savoir ce que l’atsortingbut clipToPadding fait pour ViewGroup dans Android?

J’ai parcouru les documents et certains sites Web, mais aucun de ceux que j’ai rencontrés n’indique ce que cela fait et ce que cela signifie, enfin aucun que je puisse comprendre, alors j’ai pensé que ce serait une bonne idée de le demander ici.

Vous pouvez utiliser clipToPadding pour les vues qui défilent. Supposons que vous ayez une vue de liste par exemple et que vous ayez un jeu de remplissage en haut et en bas. Normalement, le remplissage est visible, quels que soient les éléments visibles à l’écran. Le diagramme ci-dessous représente une liste de 10 éléments, mais seuls 4 sont visibles à l’écran, avec les parameters clipToPadding par défaut:

  • (rembourrage)
  • article 4
  • article 5
  • article 6
  • point 7
  • (rembourrage)

Maintenant, si vous définissez clipToPadding="false" au lieu de simplement l’appliquer à la vue entière, il applique uniquement le remplissage aux éléments de fin, c’est ce que vous voyez dans le même scénario:

  • article 4
  • article 5
  • article 6
  • point 7

Maintenant, si vous deviez faire défiler vers le haut ou le bas de la liste, voici ce que vous verriez:

  • (rembourrage)
  • object 1
  • article 2
  • article 3
  • article 4

OU

  • point 7
  • point 8
  • article 9
  • article 10
  • (rembourrage)

Une utilisation pratique est que si vous avez un bouton d’action flottant, par exemple, vous devez utiliser clipToPadding combiné avec un remplissage inférieur pour vous assurer que l’intégralité de l’élément inférieur peut être vu sans être gêné par le FAB.

Cela a-t-il du sens?

Je sais que la réponse la mieux notée explique cela assez clairement par le texte, mais comme cela a été dit,

Une image vaut mille mots

Voici un GIF d’une valeur de 1500 représentant le même:

(Gauche: clipToPadding = "true" Droite: clipToPadding = "false" )

entrer la description de l'image ici

Je vous recommande de jeter un oeil à cet article https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec#.5x2hz7q0g

Ou peut-être que vous voulez que votre RecyclerView défile sous une barre de navigation transparente – en utilisant Android: fitsSystemWindows = “true” conjointement avec Android: clipToPadding = “false”, votre contenu défilant se trouvera derrière les contrôles, le dernier élément sera toujours rempli au-dessus de la barre de navigation (plutôt que caché sous!).

Une bonne utilisation de clipToPadding est décrite dans https://www.youtube.com/watch?v=O47H4PxMf9U (partie du cours de conception de matériel d’ Udacity ).

En utilisant clipToPadding="false" défiler la vue de défilement sur l’icône Google Maps supérieure. Cela est dû au fait que les deux sont dans le même FrameLayout .

google play store de google maps, montrant cliptopadding