Quantcast
Channel: Active questions tagged listview - Stack Overflow
Viewing all articles
Browse latest Browse all 681

How can I scroll Listview at Zero position when its hide with another widget?

$
0
0

I have Page with Listview which display the images in Horizontal scroll. Also, I have another listview that display the images in bottom of the horizontal Listview.

Now, when I check the Listview data doing the Horizontal scroll and reach at last position of item, at that time, I check another data in bottom of listview using vertical scroll, The first listview is invisible. this is perfect. But when I scroll bottom to top, the Horizontal listview still remain at last position instead of zero position. How can resolve it?

I have attached my code and screenshot what I want?

import 'package:flutter/material.dart';class HomePage1 extends StatefulWidget {  @override  _HomePageState createState() => _HomePageState();}class _HomePageState extends State<HomePage1> {  BuildContext context;  @override  Widget build(BuildContext context) {    this.context = context;    // TODO: implement build    return MaterialApp(      debugShowCheckedModeBanner: false,      home: Scaffold(          appBar: AppBar(            centerTitle: true,            backgroundColor: Colors.white,            title: Text('Demo App',              style: TextStyle(color: Colors.black),            ),          ),          body: SingleChildScrollView(            scrollDirection: Axis.vertical,            child: Column(              children: <Widget>\[                _buildTrandingUI(),                _buildcardwithimg('assets/blue.png', ''),                _buildcardwithimg('assets/blue.png', ''),              \],            ),          )),    );  }  @override  void initState() {    super.initState();  }  //Design Sale UI  _buildcardwithimg(String imgpath, String text) {    return Container(      height: 380,      margin: const EdgeInsets.symmetric(vertical: 8.0),      child: new Stack(        children: <Widget>\[          new Container(            margin: const EdgeInsets.only(right: 8.0, left: 8.0),            decoration: new BoxDecoration(              color: Colors.white,              shape: BoxShape.rectangle,              borderRadius: new BorderRadius.circular(8.0),              boxShadow: <BoxShadow>\[                new BoxShadow(                  color: Colors.grey,                  blurRadius: 10.0,                  offset: new Offset(0.0, 10.0),                )              \],              image: DecorationImage(                  fit: BoxFit.cover, image: new AssetImage(imgpath)),            ),            child: new Container(              alignment: Alignment.topLeft,              padding: const EdgeInsets.all(10.0),              child: Text(                text,                style: TextStyle(                    color: Colors.white,                    fontWeight: FontWeight.bold,                    fontSize: 14.0),              ),            ),          ),        \],      ),    );  }  //Desing Tranding UI  _buildTrandingUI() {    List<String> titlearr = \[\];    titlearr.add('The Grunge Collection!');    titlearr.add('On Point!');    titlearr.add('A Fresh Edge To Every Wear');    titlearr.add('Up to 50% Off');    List<String> sbutitlearr = \[\];    sbutitlearr.add('Born For the Road');    sbutitlearr.add('Premium Bags That Steak The Spotlight');    sbutitlearr.add('Printed Tees');    sbutitlearr.add('Born For the Road');    List<String> Traimgarr = \[\];    Traimgarr.add('assets/grun.png');    Traimgarr.add('assets/onpoint.png');    Traimgarr.add('assets/grun.png');    Traimgarr.add('assets/onpoint.png');    return Container(        height: 280.0,        margin: const EdgeInsets.symmetric(vertical: 4.0),        child: new Stack(          children: <Widget>\[            new Container(              margin: const EdgeInsets.only(left: 8.0, right: 8.0),              decoration: new BoxDecoration(                  color: Colors.white,                  shape: BoxShape.rectangle,                  borderRadius: BorderRadius.circular(8.0),                  boxShadow: <BoxShadow>\[                    new BoxShadow(                      color: Colors.grey,                      blurRadius: 10.0,                      offset: new Offset(0.0, 10.0),                    )                  \]),              child: new Container(                alignment: Alignment.topLeft,                padding: const EdgeInsets.all(10.0),                child: Text('Trending Now',                  style: TextStyle(color: Colors.blueGrey),                ),              ),            ),            new Center(                child: new Container(              height: 245.0,              margin: const EdgeInsets.only(left: 10.0, right: 10.0, top: 20.0),              child: ListView.builder(                  scrollDirection: Axis.horizontal,                  itemCount: Traimgarr.length,                  itemBuilder: (context, index) {                    return Column(                      crossAxisAlignment: CrossAxisAlignment.center,                      mainAxisSize: MainAxisSize.min,                      children: <Widget>\[                        Container(                          height: 190.0,                          width: 280.0,                          margin: EdgeInsets.all(10.0),                          child: Image.asset(                            Traimgarr\[index\],                            fit: BoxFit.cover,                          ),                        ),                        Text(                          titlearr\[index\],                          style: TextStyle(fontWeight: FontWeight.bold),                        ),                        Text(                          sbutitlearr\[index\],                          style: TextStyle(color: Colors.grey),                        )                      \],                    );                  }),            ))          \],        ));  }}

Viewing all articles
Browse latest Browse all 681


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>