152 votes

Comment faire pour supprimer la lueur de défilement?

Par défaut, le flottement ajoute un effet lumineux sur ListView/GridView/... à overscrolls sur les téléphones android

Je voudrais enlever cette effet entièrement ou sur l'une de défilement. Je sais que je peux changer de ScrollPhysics de variation entre Bounce/Pince. Mais ce n'est pas réellement supprimer l'effet d'éclat.

Que puis-je faire ?

enter image description here

294voto

Rémi Rousselet Points 45139

L'effet de lumière vient de l' GlowingOverscrollIndicator ajouté par ScrollBehavior

Pour supprimer cet effet, vous devez spécifier une coutume ScrollBehavior. Pour cela, il suffit de conclure n'importe quelle partie de votre application dans un ScrollConfiguration le ScrollBehavior.

La suite de ScrollBehavior va supprimer l'effet d'éclat entièrement :

class MyBehavior extends ScrollBehavior {
  @override
  Widget buildViewportChrome(
      BuildContext context, Widget child, AxisDirection axisDirection) {
    return child;
  }
}

Pour supprimer le rayonnement sur l'ensemble de l'application, vous pouvez l'ajouter à un droit en vertu d' MaterialApp :

MaterialApp(
  builder: (context, child) {
    return ScrollConfiguration(
      behavior: MyBehavior(),
      child: child,
    );
  },
  home: new MyHomePage(),
);

Pour l'enlever sur un ListView, au lieu envelopper seul le choix de la ListView :

ScrollConfiguration(
  behavior: MyBehavior(),
  child: ListView(
    ...
  ),
)

Ceci est également valable si vous voulez changer l'effet. Comme l'ajout d'un fondu lorsque l'on atteint les frontières de défilement de la vue.

2voto

mrserfr Points 428

Je sais que ce n'est pas la réponse à cette question, mais il me semble que cela peut être utile à ceux qui recherchent des informations sur ce sujet.

Donc, si vous êtes intéressé par how to remove overscroll effect on ios - réponse Comment supprimer le défilement excessif sur iOS?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X