GestureDetector не работает под IgnorePointer - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть следующий код под SingleChildScrollView. Я использовал IgnorePointer, чтобы прокручивать. Но теперь я не могу заставить GestureDetector работать, потому что IgnorePointer блокирует его.

Когда я удаляю IgnorePointer, GestureDetector работает. Могу ли я использовать другие способы заставить прокрутку работать или заставить GestureDetector работать, находясь внутри IgnorePointer?

IgnorePointer(
                child:
                  Padding(
                padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
                child: Container(

        child: FutureBuilder(
          future: fetchfiveWpPosts(),
          builder: (context,snapshot){
            if(snapshot.hasData){
                return ListView.builder(
                  itemCount: snapshot.data.length,
                  shrinkWrap: true,
                  scrollDirection: Axis.vertical,
                  itemBuilder: (BuildContext context, int index){
                    Map wppost = snapshot.data[index];
                    var imageurl = wppost['acf']['store_logo']['url'];

                  return GestureDetector(
                      onTap: () {
                                      Navigator.of(context).push(
                                          MaterialPageRoute(
                                              builder: (_) => Detail()));
                                    },
                    child:  Padding(
                      padding: const EdgeInsets.all(8.0),
                      child: Card(

                      child: 
                       Column(


                        crossAxisAlignment: CrossAxisAlignment.stretch,
                        mainAxisSize: MainAxisSize.min,

                        children: <Widget>[
                          //Image.network(imageurl),
                          Container(
                            //height: 170,
                            child: 

                            FadeInImage.assetNetwork(placeholder: 'assets/loading.gif', image: imageurl,
                            height: 170,
                            fit: BoxFit.fill,),
                          ),


                          Padding(
                          padding: EdgeInsets.fromLTRB(10, 5, 5, 10),
                          child: Text(wppost['title']['rendered'], style: TextStyle(fontSize: 25, fontWeight: FontWeight.w600, color: Colors.blueAccent,),),
                          ),


                        ],
                      ),

                  ),
                    ),
                  );

                  }, 
                );
            }
            return CircularProgressIndicator();
          },


      ),
                ),
              ),
                ),

1 Ответ

0 голосов
/ 23 апреля 2020

Я получил ответ на свой вопрос здесь, в Stackoverflow Почему только содержимое в ListView.builder () не прокручивается?

Вам нужно сделать так, чтобы ListView.builder не прокручивался так SingleChildScrollView может прокручивать. Этого можно достичь, установив одно из этих двух свойств в ListView.builder:

physics: NeverScrollableScrollPhysics()

или

primary: false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...