getPresentationWidgetsShimmerWrapperTemplate function
String
getPresentationWidgetsShimmerWrapperTemplate(
- String projectName
)
Implementation
String getPresentationWidgetsShimmerWrapperTemplate(String projectName) {
return '''
import 'package:flutter/material.dart';
class Skeleton extends StatefulWidget {
final double width;
final double height;
final double radius;
const Skeleton({
super.key,
required this.width,
required this.height,
this.radius = 8,
});
@override
State<Skeleton> createState() => _SkeletonState();
}
class _SkeletonState extends State<Skeleton>
with SingleTickerProviderStateMixin {
late AnimationController _controller;
@override
void initState() {
super.initState();
_controller = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 1200),
)..repeat();
}
@override
Widget build(BuildContext context) {
return AnimatedBuilder(
animation: _controller,
builder: (_, __) {
return Container(
width: widget.width,
height: widget.height,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(widget.radius),
gradient: LinearGradient(
begin: Alignment(-1 + _controller.value * 2, 0),
end: Alignment(1 + _controller.value * 2, 0),
colors: [
Colors.grey.shade300,
Colors.grey.shade100,
Colors.grey.shade300,
],
),
),
);
},
);
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
}
''';
}