小编Col*_*son的帖子

如何解除屏幕键盘?

我用a收集用户输入,TextFormField当用户按下FloatingActionButton指示它们完成时,我想关闭屏幕键盘.

如何让键盘自动消失?

import 'package:flutter/material.dart';

class MyHomePage extends StatefulWidget {
  MyHomePageState createState() => new MyHomePageState();
}

class MyHomePageState extends State<MyHomePage> {
  TextEditingController _controller = new TextEditingController();

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(),
      floatingActionButton: new FloatingActionButton(
        child: new Icon(Icons.send),
        onPressed: () {
          setState(() {
            // send message
            // dismiss on screen keyboard here
            _controller.clear();
          });
        },
      ),
      body: new Container(
        alignment: FractionalOffset.center,
        padding: new EdgeInsets.all(20.0),
        child: new TextFormField(
          controller: _controller,
          decoration: new InputDecoration(labelText: …
Run Code Online (Sandbox Code Playgroud)

dart flutter

68
推荐指数
21
解决办法
3万
查看次数

为什么setState会关闭?

setState()接受函数只是为了立即调用它然后请求重建有什么好处?特别是,与用户明确调用"重建"类型函数相比,有什么优势?

dart flutter

18
推荐指数
2
解决办法
1286
查看次数

Android 上的 Flutter Lottie 动画启动画面

我想在 Flutter Android 应用程序中添加 Lottie 动画作为启动屏幕。我希望它在 Flutter 绘制第一帧之前启动,所以我正在考虑在本地执行此操作。

我在网上找到了两个例子,但它们都使用了 Flutter 的 deprecated SplashScreen

我在构建过程中收到以下警告消息:

W/FlutterActivityAndFragmentDelegate(23263): A splash screen was
provided to Flutter, but this is deprecated. See
flutter.dev/go/android-splash-migration for migration steps.
Run Code Online (Sandbox Code Playgroud)

有没有办法制作像这个视频这样的启动动画:

  1. 接受 Lottie 格式
  2. 在 Flutter 绘制第一帧之前的冷启动期间可见
  3. 不使用已弃用的 Flutter SplashScreen

尝试过但不起作用的事情:

  • Android 12 SplashScreen的文档似乎仅适用于动画矢量可绘制 (AVD) 格式的动画。
  • flutter_native_splash包尚不支持 Lottie 动画格式,尽管文档指出他们会接受 PR 添加支持

视频由flutter_animated_splash_screen提供。

android flutter lottie

9
推荐指数
1
解决办法
5628
查看次数

防止滚动的Hero跳到应用栏顶部

我有一个Hero可以滚动的屏幕,所以它的一部分不在屏幕上。当我触发转换时,它似乎突然跳到的顶部,AppBar然后在转换反向时又跳回到其下方。如何强制AppBar保持在顶部Hero

视频

import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
    home: new Example(),
    theme: new ThemeData(primaryColor: Colors.orange),
    debugShowCheckedModeBanner: false,
  ));
}

Widget positionHeroOverlay(BuildContext context, Widget overlay, Rect rect, Size size) {
  final RelativeRect offsets = new RelativeRect.fromSize(rect, size);
  return new Positioned(
    top: offsets.top,
    right: offsets.right,
    bottom: offsets.bottom,
    left: offsets.left,
    child: overlay,
  );
}

class LogoPageRoute extends MaterialPageRoute<Null> {
  LogoPageRoute(this.colors) : super(
    builder: (BuildContext context) {
      return new Scaffold(
        appBar: new AppBar(
          title: new Text('Flutter …
Run Code Online (Sandbox Code Playgroud)

dart flutter

8
推荐指数
1
解决办法
625
查看次数

如何使用Flutter制作可滚动的包装视图?

我想显示有限数量的项目并在用户向任一方向滚动时自动换行。我该怎么做呢?

dart flutter

6
推荐指数
1
解决办法
3788
查看次数

颤振 - 翻转卡的效果

我正在尝试制作翻转卡,这将是获得效果的最佳方式

目录卡片

dart flutter

6
推荐指数
2
解决办法
4754
查看次数

Oauth2在Flutter app中流动

在我正在构建的Flutter应用程序中,我需要根据自定义(非Google/Facebook/Twitter/etc)授权服务器对用户进行身份验证.

为了实现这一点,用户应在网页中填写凭据.为此,可以使用WebView插件.但是,在用户进行身份验证后重定向页面时,应关闭WebView,并将代码传递给最初调用WebView的(Flutter)函数.

我已经做了一些研究,我得到了以下几个选项:

  • 这篇博文使用本地服务器,仍然需要用户手动关闭窗口,这不是一个真正的解决方案(在我看来).
  • 此问题表明已完成与任何OAuth提供程序的集成,但未提供有关浏览器内用户身份验证的任何详细信息.
  • 这个问题与我描述的完全一样,但在底部提到WebView插件提供了一种关闭WebView的方法.虽然它确实有一个close()函数,但我找不到在redirect-URI上触发它并返回验证码的方法.

是否存在解决方案,一旦打开redirect-URI,它会自动关闭浏览器(并返回验证码)?

提前致谢!

oauth oauth-2.0 dart flutter

6
推荐指数
1
解决办法
3782
查看次数

Flutter Nested Widget回调/异步问题

来自Yueh Chou发布的Flutter问题:

不确定事件是否会冒泡到父窗口小部件并使用所有嵌套窗口小部件和回调触发动画.

在原始文件中,

按下BackWidget的孙子小部件(例如FlatButton),它将触发ModalDialog调用,按下该按钮将进行异步调用.翻转效果将在成功的异步调用结束时发生.

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';


void main() {
  runApp(new MaterialApp(
      home: new Container(color: Colors.white, child: new RootWidget())));
}

class RootWidget extends StatelessWidget {
  FlipWidget mainFlipWidget;

  @override
  Widget build(BuildContext context) {
    mainFlipWidget = new FlipWidget(
      frontWidget: frontWidget,
      backWidget: new BackWidget(
        onPressedButton: () {
          _flipMainButton();
        },
      ),
    );
    return new Center(child:mainFlipWidget);
  }

  _flipMainButton() {
    mainFlipWidget.doTheFlip();
  }
}

class BackWidget extends StatefulWidget {
  BackWidget({
    this.onPressedButton,
  });

  final VoidCallback onPressedButton;
   Widget buttonFlipWidget;
  _BackWidgetState createState() => new …
Run Code Online (Sandbox Code Playgroud)

dart flutter

6
推荐指数
1
解决办法
4566
查看次数

颤振中的多标签/页面视图

如何在flutter中创建多页面视图,其中页面对应于bottomnavigationbar中的选项卡,使得与页面对应的窗口小部件仅按需构建一次.

例如,考虑一个简单的Facebook应用程序类型的UI,带有两个选项卡 - 提要和通知,具有以下行为:

  1. Feed和通知都是通过网络获取的项目列表.
  2. 假设原始标签是Feed,则只有在用户点击通知标签时才会提取通知
  3. 如果用户滚动了Feed,并点击了通知图标,然后再次点击Feed图标,则应记住滚动位置.

如果我使用TabBarView,它会在每次更改选项卡时重建窗口小部件,因此不会保留滚动位置.

flutter

5
推荐指数
1
解决办法
4172
查看次数

重建颤振工具的替代方法?

我最近问了这个关于 Flutter 的问题。目前,答案现在给出了一个不同的错误,正如答案所述,我可能想查看这段代码。所以,我决定分叉回购并开始我的调查。我目前只想打印出该部分中的几个值来弄清楚发生了什么。看看程序认为我拥有什么,以及它认为我没有什么。我添加了几个printTrace语句,现在我想重建项目。

我去了CONTRIBUTING.md,发现了这个:

flutter 工具本身是在您flutter第一次运行和每次运行时构建的flutter upgrade。如果您想更改并重新测试工具本身的行为,请在 git 中本地提交您的工具更改,packages/flutter_tools下次运行时将从 Dart 源重新构建该工具 flutter

我现在不想完全“改变”任何东西,只是打印出一些值并弄清楚发生了什么。问题是,进行这些调试更改会迫使我进行提交。有没有办法在不提交的情况下重建颤振工具?

android flutter

2
推荐指数
1
解决办法
951
查看次数

Flutter-设置小部件的比例

我正在尝试创建一个动画,该动画将小部件“弹出”并返回到该小部件

import "package:flutter/material.dart";

class ScoreCounter extends StatefulWidget {
  @override
  _ScoreCounter createState() => new _ScoreCounter();
}

class _ScoreCounter extends State<ScoreCounter> with SingleTickerProviderStateMixin{
  AnimationController _controller;

  @override
  void initState() {
    super.initState();
    _controller = new AnimationController(
      duration: const Duration(seconds: 10),
      vsync: this,
    )..forward();
  }

  @override
  build(BuildContext context){
    return new AnimatedBuilder(
      animation: _controller,
      child: new Container(width: 200.0, height: 200.0, color: Colors.green),
      builder: (BuildContext context, Widget child) {
        //What to return that scales the element
      },
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

对于旋转,我将使用Transform并返回一个Matrix。但是我应该返回什么来完成缩放动画?

提前致谢

dart flutter

1
推荐指数
2
解决办法
2808
查看次数

标签 统计

flutter ×11

dart ×8

android ×2

lottie ×1

oauth ×1

oauth-2.0 ×1