Zai*_*een 1 android dart flutter flutter-layout
您好,我是颤振新手,我想创建这个设计,但我对如何为图像中标记的该文本创建线性不透明阴影效果叠加感到困惑
您可以使用带有 LinearGradient 的 CustomPainter:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePageState createState() => MyHomePageState();
}
class MyHomePageState extends State<MyHomePage> {
Widget build(BuildContext context) {
return Container(
color: Colors.white,
child: CustomPaint(
foregroundPainter: FadingEffect(),
//child gets the fading effect
child: Text(
'Test text',
style: TextStyle(color: Colors.black)),
),
);
}
}
class FadingEffect extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
Rect rect = Rect.fromPoints(Offset(0, 0), Offset(size.width, size.height));
LinearGradient lg = LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
//create 2 white colors, one transparent
Color.fromARGB(0, 255, 255, 255),
Color.fromARGB(255, 255, 255, 255)
]);
Paint paint = Paint()..shader = lg.createShader(rect);
canvas.drawRect(rect, paint);
}
@override
bool shouldRepaint(FadingEffect linePainter) => false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4695 次 |
| 最近记录: |