import 'package:flutter/material.dart';
import 'dart:math';
import 'dart:ui';
void main() {
runApp(
MaterialApp(home: PageViewScreen()),
);
}
class PageViewScreen extends StatelessWidget {
@override Widget build(BuildContext context) {
return Scaffold(
body: PageView.builder(
itemCount: 6,
itemBuilder: (context, index) => Page(text: 'Page $index', isBlur: index == 1),
),
);
}
}
class Page extends StatelessWidget {
final String text;
final bool isBlur;
const Page({Key key, this.text, this.isBlur = false}) : super(key: key);
@override Widget build(BuildContext context) {
return Stack(
children: [
Text(_getRandomString(6000)),
if(isBlur) BackdropFilter(
filter: ImageFilter.blur(sigmaX: 4, sigmaY: 4),
child: Container(color: Colors.black.withOpacity(0.1)),
),
Center(
child: Text(
text,
style: Theme.of(context).textTheme.headline2,
),
),
],
);
}
}
const _chars = 'abcdefghijklmnopqrstuvwxyz ';
Random _rnd = Random();
String _getRandomString(int length) => String.fromCharCodes(Iterable.generate(
length, (_) => _chars.codeUnitAt(_rnd.nextInt(_chars.length))));