flutter 点击旋转窗口
时间: 2023-07-19 15:42:27 浏览: 170
您可以使用`Transform.rotate` widget 来实现旋转窗口。您可以将 `GestureDetector` widget 用于捕获点击事件,然后在点击事件处理程序中更改旋转角度。以下是一个简单的示例代码:
```dart
import 'package:flutter/material.dart';
void main() => runApp(RotateWindowApp());
class RotateWindowApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Rotate Window Demo',
home: RotateWindow(),
);
}
}
class RotateWindow extends StatefulWidget {
@override
_RotateWindowState createState() => _RotateWindowState();
}
class _RotateWindowState extends State<RotateWindow> {
double angle = 0;
void _rotateWindow() {
setState(() {
angle = angle + 45;
});
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: _rotateWindow,
child: Transform.rotate(
angle: angle * 3.14 / 180,
child: Container(
height: 200,
width: 200,
color: Colors.blue,
child: Center(
child: Text(
'Click to Rotate',
style: TextStyle(
color: Colors.white,
fontSize: 20,
),
),
),
),
),
);
}
}
```
这个示例中,我们在 `GestureDetector` 中添加 `onTap` 事件处理程序,每次点击时会将 `angle` 值增加 45 度。`Transform.rotate` widget 中的 `angle` 属性将窗口旋转到指定的角度。
阅读全文