import 'dart:io';
import 'package:flutter/material.dart';
class ScrollBarDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('ScrollBarDemo'),
elevation: 0.0,
),
// ScrollConfiguration
body: ScrollConfiguration(
// CusBehavior 自定義
behavior: CusBehavior(),
child: SingleChildScrollTestRoute()
),
);
}
}
class SingleChildScrollTestRoute extends StatelessWidget {
@override
Widget build(BuildContext context) {
String str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
return Scrollbar(
child: SingleChildScrollView(
// NeverScrollableScrollPhysics 去除滾動行為,不會滾動
// physics: NeverScrollableScrollPhysics(),
padding: EdgeInsets.all(16.0),
child: Center(
child: Column(
children: str.split('').map((e) => Text(e, textScaleFactor: 2.0)).toList()
),
)
),
);
}
}
// ScrollBehavior 繼承
class CusBehavior extends ScrollBehavior {
@override
Widget buildViewportChrome(BuildContext context, Widget child, AxisDirection axisDirection) {
// 如果是谷歌平台下的安卓和fuchsia 去除預設行為
if (Platform.isAndroid || Platform.isFuchsia) return child;
return super.buildViewportChrome(context, child, axisDirection);
}
}
以上隻是使用方法,點選檢視更為詳細具體的講解