我滚动的名单,并在中间,如果我点击了搜索栏,然后名单将自动滚动到索引'0'

import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Flutter Demo',
      theme: ThemeData(
        appBarTheme: const AppBarTheme(
          color: Color.fromARGB(255, 218, 255, 144),
        ),
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: <Widget>[
          NestedScrollView(
            headerSliverBuilder:
                (BuildContext context, bool innerBoxIsScrolled) {
              return <Widget>[
                SliverAppBar(
                  primary: true,
                  floating: true,
                  backgroundColor: const Color.fromARGB(255, 218, 255, 144),
                  snap: true,
                  pinned: false,
                  bottom: PreferredSize(
                    preferredSize: const Size.fromHeight(48),
                    child: Container(
                      color: const Color.fromARGB(255, 218, 255, 144),
                      child: Padding(
                        padding: const EdgeInsets.only(
                            left: 15, bottom: 14, right: 15, top: 15),
                        child: Container(
                          height: 40,
                          decoration: BoxDecoration(
                            borderRadius: BorderRadius.circular(10),
                          ),
                          child: ClipRRect(
                            borderRadius: BorderRadius.circular(10),
                            child: TextFormField(
                              cursorColor: Colors.black,
                              decoration: InputDecoration(
                                  focusedBorder: OutlineInputBorder(
                                      borderSide: BorderSide.none,
                                      borderRadius: BorderRadius.circular(10)),
                                  fillColor:
                                      const Color.fromARGB(30, 50, 50, 122),
                                  contentPadding: const EdgeInsets.all(3),
                                  border: OutlineInputBorder(
                                      borderRadius: BorderRadius.circular(10),
                                      borderSide: BorderSide.none),
                                  hintText: 'Search',
                                  hintStyle: const TextStyle(
                                      color: Color.fromARGB(
                                        153,
                                        60,
                                        60,
                                        67,
                                      ),
                                      fontSize: 17,
                                      fontWeight: FontWeight.w400),
                                  filled: true,
                                  prefixIcon: const Icon(
                                    Icons.search,
                                    color: Color.fromARGB(
                                      153,
                                      60,
                                      60,
                                      67,
                                    ),
                                  ),
                                  suffixIcon: MaterialButton(
                                      minWidth: 10,
                                      splashColor: Colors.grey,
                                      onPressed: () {},
                                      child: const Icon(
                                        Icons.clear,
                                        color: Color.fromARGB(
                                          153,
                                          60,
                                          60,
                                          67,
                                        ),
                                      ))),
                            ),
                          ),
                        ),
                      ),
                    ),
                  ),
                ),
              ];
            },
            body: const MyScreen(),
          ),
          Positioned(
            top: 0.0,
            left: 0.0,
            right: 0.0,
            child: AppBar(
              toolbarHeight: 48,
              automaticallyImplyLeading: true,
              elevation: 0,
              title: const Text("My Title"),
              centerTitle: true,
              actions: [
                IconButton(
                  icon: const Icon(Icons.favorite_border_rounded,
                      color: Color.fromARGB(223, 0, 0, 0)),
                  onPressed: () {},
                ),
                IconButton(
                  icon: const Icon(Icons.shopping_cart_rounded,
                      color: Color.fromARGB(223, 0, 0, 0)),
                  onPressed: () {},
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}

class MyScreen extends StatelessWidget {
  const MyScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return ListView.separated(
        itemCount: 1000,
        itemBuilder: (context, index) => Text(index.toString()),
        separatorBuilder: (context, index) => const Divider());
  }
}

当我点击搜索栏时,我试图停止自动滚动,所以请帮助我停止自动滚动开始,并删除应用程序栏和列表后的间隙,请美化代码,抱歉我的英语很差.

推荐答案

问题解决了!

只需将此行添加到您的NestedScrollView

physics: const NeverScrollableScrollPhysics(),

enter image description here

Flutter相关问答推荐

CLI数据库连接后将SHA-1密钥添加到Firebase项目

blocTest错误:没有从`when()`中调用方法存根

'Flutter的无效常数值错误

通过Ffltter应用程序与Docker服务器进行交互以进行身份验证

Flutter :执行com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction时出现故障

使用ImageFilter模糊并剪裁同一renderObject中的元素

无法应用插件com.chaquo.python

更新番茄计时器值不会触发 Flutter Riverpod 中的alert 声音

获取通过列表呈现的相同 TextEditingController 的值

小部件堆栈未显示顶层

如何在 Flutter 中使用 drawLine() 和 drawCircle() 绘制等距离的 4 条线

如何在向下滚动时隐藏顶部卡片并在向上滚动时出现?

Flutter 构建方法使用的是旧版本的变量?

如何将 List 转换为 String []?

Flutter - 使用 pin 进行身份验证

Getx Flutter 在更新值时抛出空错误

在 flutter 中使用 Firebase 实时数据库数据创建无限滚动效果

我几乎每次都将 Stateless Widget 与 BLoC 一起使用.我错了吗?

Flutter - 检测手指何时进入容器

如何从 Firebase Firestore 中获取具有特定字段值的文档?