cupertino_scrollbar.1.dart 1.67 KB
Newer Older
1 2 3 4
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

5
// Flutter code sample for [CupertinoScrollbar].
6 7 8

import 'package:flutter/cupertino.dart';

9
void main() => runApp(const ScrollbarApp());
10

11
class ScrollbarApp extends StatelessWidget {
12
  const ScrollbarApp({super.key});
13 14 15

  @override
  Widget build(BuildContext context) {
16 17 18
    return const CupertinoApp(
      theme: CupertinoThemeData(brightness: Brightness.light),
      home: ScrollbarExample(),
19 20 21 22
    );
  }
}

23
class ScrollbarExample extends StatefulWidget {
24
  const ScrollbarExample({super.key});
25 26

  @override
27
  State<ScrollbarExample> createState() => _ScrollbarExampleState();
28 29
}

30
class _ScrollbarExampleState extends State<ScrollbarExample> {
31 32 33 34
  final ScrollController _controllerOne = ScrollController();

  @override
  Widget build(BuildContext context) {
35 36 37 38 39 40 41 42 43
    return CupertinoPageScaffold(
      navigationBar: const CupertinoNavigationBar(
        middle: Text('CupertinoScrollbar Sample'),
      ),
      child: CupertinoScrollbar(
        thickness: 6.0,
        thicknessWhileDragging: 10.0,
        radius: const Radius.circular(34.0),
        radiusWhileDragging: Radius.zero,
44
        controller: _controllerOne,
45 46 47 48 49 50 51 52 53 54 55 56 57
        thumbVisibility: true,
        child: ListView.builder(
          controller: _controllerOne,
          itemCount: 120,
          itemBuilder: (BuildContext context, int index) {
            return Center(
              child: Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text('Item $index'),
              ),
            );
          },
        ),
58 59 60 61
      ),
    );
  }
}