如何在 Flutter 中拥有滚动条视图?

Rah*_*ahi 3 scrollbar dart flutter

在此处输入图片说明

我想要一个像图片中那样的滚动条视图。

那么我怎样才能使用颤振呢?

我试过了

SingleChildScrollView(
  ....
),
Run Code Online (Sandbox Code Playgroud)

但是没有出现滚动条,我不知道如何制作它们

Amm*_*tef 9

你可以使用这个项目

pubspec.yaml

dev_dependencies:
  flutter_test:
    sdk: flutter
  draggable_scrollbar: 0.0.4
Run Code Online (Sandbox Code Playgroud)

编码:

import 'package:flutter/material.dart';
import 'package:draggable_scrollbar/draggable_scrollbar.dart';

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

class MyApp extends StatelessWidget {
  ScrollController _rrectController = ScrollController();
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Test",
      home: Scaffold(
        body: Center(
          child: DraggableScrollbar.rrect(
            controller: _rrectController,
            backgroundColor: Colors.blue,
            child: ListView.builder(
              controller: _rrectController,
              itemCount: 100,
              itemExtent: 100.0,
              itemBuilder: (context, index) {
                return Container(
                  padding: EdgeInsets.all(8.0),
                  child: Material(
                    elevation: 4.0,
                    borderRadius: BorderRadius.circular(4.0),
                    color: Colors.green[index % 9 * 100],
                    child: Center(
                      child: Text(index.toString()),
                    ),
                  ),
                );
              },
            ),
          ),
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

结果: 在此处输入图片说明


iqf*_*eez 5

Flutter 现在有滚动条小部件。

只需用 . 包裹SingleChildScrollView或任何ScrollView小部件即可Scrollbar

代码示例:

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Scrollbar(
        // Child can also be SingleChildScrollView, GridView, etc.
        child: ListView.builder(
          itemCount: 20,
          itemBuilder: (context, index) {
            return ListTile(
              title: Text('Index $index'),
            );
          },
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

截屏

滚动条(本周小部件):https ://youtu.be/DbkIQSvwnZc