[译] 使用 Flutter 制作 3D 翻转动画,赶紧收藏备战金三银四

   children: [
    ClipRect(
        child: Align(
      alignment: Alignment.topCenter,
      heightFactor: 0.5,
      child: child,
    )),
    Padding(
      padding: EdgeInsets.only(top: 2.0),
    ),
    ClipRect(
        child: Align(
      alignment: Alignment.bottomCenter,
      heightFactor: 0.5,
      child: child,
    )),
  ],
);

}
}


尝试一下:

![](https://user-gold-cdn.xitu.io/2018/7/23/164c4d613b41e47f?imageView2/0/w/1280/h/960/ignore-error/1)

就是这样。此外,**child** 可以让我们随心所欲设计动画的内容(无论如何是文本,还是图像)。

*   **围绕 X 轴旋转一半面板**

**Transform** 组件有一个 **transform** 参数,类型是 **Matrix4**,用于定义所应用的变换类型。**Matrix4** 暴露了一个名为 **rotationX()** 的工厂构造函数,看起来是我们需要用的,让我们尝试一下用在面板的上半部分:

@override
Widget build(BuildContext context) {
return Column(
mainAxisSize: MainAxisSize.min,
children: [
Transform(
transform: Matrix4.rotati

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的登录界面示例,使用Flutter 的 Material Design 风格。 首先,在 `pubspec.yaml` 文件中添加 Material Design 库: ```yaml dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.2 material_design_icons_flutter: ^3.6.95 ``` 然后,在 `lib/main.dart` 文件中编写代码: ```dart import 'package:flutter/material.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Login Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: LoginPage(), ); } } class LoginPage extends StatefulWidget { @override _LoginPageState createState() => _LoginPageState(); } class _LoginPageState extends State<LoginPage> { final _formKey = GlobalKey<FormState>(); String _email; String _password; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Login'), ), body: Center( child: Form( key: _formKey, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ TextFormField( decoration: InputDecoration( labelText: 'Email', prefixIcon: Icon(MdiIcons.email), ), keyboardType: TextInputType.emailAddress, validator: (value) { if (value.isEmpty) { return 'Please enter your email'; } return null; }, onSaved: (value) { _email = value; }, ), TextFormField( decoration: InputDecoration( labelText: 'Password', prefixIcon: Icon(MdiIcons.lock), ), obscureText: true, validator: (value) { if (value.isEmpty) { return 'Please enter your password'; } return null; }, onSaved: (value) { _password = value; }, ), SizedBox( height: 24, ), RaisedButton( onPressed: () { if (_formKey.currentState.validate()) { _formKey.currentState.save(); // TODO: Perform login action } }, child: Text('Login'), ), ], ), ), ), ); } } ``` 这个示例中,我们使用了 `Form` 和 `TextFormField` 来创建表单,使用了 Material Design 风格的图标来增强用户体验。 在表单的提交按钮中,我们可以执行具体的登录操作。你可以根据自己的需求来实现这个逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值