How can I hide images from ListView when I am scrolling Down; Flutter

Viewed 50
 ListView.builder(
 scrollDirection: Axis.horizontal,
  itemBuilder: (context, index) {
  return Column(
   children: [
     Image.network(",,,"),
     Text(",,,"),
    ],
   );
 },
itemCount: ,,,.length
),

I need the Text(",,,") to be seen on scroll, but how I can hide the images onScroll?

1 Answers

You can use a ScrollController to detect scroll direction.

  bool visible = true;

  late final ScrollController controller = ScrollController()
    ..addListener(() {
      //add more logic for your case
      if (controller.position.userScrollDirection == ScrollDirection.reverse &&
          visible) {
        visible = false;
        setState(() {});
      }
      if (controller.position.userScrollDirection == ScrollDirection.forward &&
          !visible) {
        visible = true;
        setState(() {});
      }
    });

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView.builder(
        controller: controller,
        itemCount: 52,
        itemBuilder: (context, index) {
          return Column(
            children: [
              if (visible)
                Container(
                  height: 100,
                  width: 200,
                  color: Colors.deepPurple,
                ),
              Text("Item number $index"),
            ],
          );
        },
      ),
    );
  }
Related