小编Aja*_*mar的帖子

如何在Flutter中为GridView中的Widget设置自定义高度?

即使在指定Container GridView的高度之后,我的代码也会生成方形小部件.

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<String> widgetList = ['A', 'B', 'C'];

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      body: new Container(
        child: new GridView.count(
          crossAxisCount: 2,
          controller: new ScrollController(keepScrollOffset: false),
          shrinkWrap: true,
          scrollDirection: Axis.vertical,
          children: widgetList.map((String value) {
            return new Container(
              height: 250.0,
              color: Colors.green,
              margin: new EdgeInsets.all(1.0),
              child: …
Run Code Online (Sandbox Code Playgroud)

height gridview dart flutter

26
推荐指数
11
解决办法
3万
查看次数

如何从Flutter中的其他StatefulWidget设置/更新StatefulWidget的状态?

  1. 例如,下面的代码加按钮工作,能够更新文本,但减号按钮不能.
  2. 但是如果我们按下FloatingActionButton,那么状态就会刷新.
  3. 减号按钮正在更改变量的值,但不会更新父窗口小部件的状态.

在此输入图像描述

这是代码.....

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

int number;

EdgeInsets globalMargin = const EdgeInsets.symmetric(horizontal: 20.0, vertical: 20.0);
TextStyle textStyle = const TextStyle(
  fontSize: 100.0,
  color: Colors.black,
);

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() …
Run Code Online (Sandbox Code Playgroud)

state flutter

22
推荐指数
7
解决办法
3万
查看次数

如何在#flutter 中更改推送通知的 Android 通知图标/状态栏图标?

我想用我自己的推送通知图标替换默认图标。

现在应用程序将图标显示为白框。

push-notification flutter

14
推荐指数
2
解决办法
2万
查看次数

firebase_messaging onResume和onLaunch无法正常工作

我在应用程序处于前台时收到通知,但在应用程序处于后台时却未收到通知。此外,我有google-ed / StackOverflow-ed大约2个小时或更长时间,但能够解决此问题。

我的配置是:

  firebase_auth: ^0.10.0
  firebase_messaging: ^5.0.0
Run Code Online (Sandbox Code Playgroud)

清单是这样的:

表现

代码是这样的:

final notifications = new FirebaseMessaging();

class AppNotifications {
  static String fcmToken = '';

  static Future<Null> init() async {
    appLogs("AppNotifications init");

    notifications.requestNotificationPermissions(const IosNotificationSettings(sound: true, badge: true, alert: true));

    await configure();

    fcmToken = await notifications.getToken();
    appLogs("FCM TOKEN : " + fcmToken);

    notifications.onTokenRefresh.listen((newToken) {
      fcmToken = newToken;
      appLogs("FCM TOKEN onTokenRefresh: " + fcmToken);
    });

    await updateFCMToken();
  }

  static Future<Null> configure() async {
    appLogs("AppNotifications Configure");

    notifications.configure(onMessage: (msg) {
      appLogs('FCM onMessage: ' + msg.toString());
    }, …
Run Code Online (Sandbox Code Playgroud)

push-notification flutter

13
推荐指数
3
解决办法
2458
查看次数

如何显示本地图像,直到NetworkImage()加载flutter?

            new CircleAvatar(
                              backgroundColor: Colors.black87,
                              backgroundImage: new NetworkImage(url),
                              radius: 45.0,
                            )
Run Code Online (Sandbox Code Playgroud)

我希望显示本地图像,CircleAvatar直到NetworkImage来自互联网的全部负载.

image dart flutter

8
推荐指数
5
解决办法
9206
查看次数

有没有更好的方法来检查#flutter中的左/右拖动?

有没有更好的方法来检查#flutter中的左/右拖动.我已经完成了它,但是有时它不工作.

  new GestureDetector(
  onHorizontalDragEnd: (DragEndDetails details) {
      print("Drag Left - AddValue");

    setState((){
      _value++;
    });
    if (details.velocity.pixelsPerSecond.dx > -1000.0) {
      print("Drag Right - SubValue");

      setState((){
        _value--;
      });
    }
  },
  child: new Container(
    child:new Text("$_value"),
  ),
);
Run Code Online (Sandbox Code Playgroud)

gesturedetector flutter

6
推荐指数
3
解决办法
5038
查看次数

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

如何在Flutter中禁用发布版本中的所有日志[debugPrint()]?

我已经在android设备中安装了发行版本的apk,但是如果我将该设备连接到Android studio,则可以看到所有Logs / debugPrint语句。

有什么办法可以禁用所有日志?

logging android debug-print flutter

5
推荐指数
2
解决办法
1141
查看次数

如何维护ListView中小部件的状态?

单击窗口小部件时,我有一个可单击的窗口小部件列表(即MarkWidget)。但是,当列表滚动到底部并滚动回顶部时,所有小部件的状态都将重置为默认状态。

滚动后如何停止/强制抖动以不重画列表中的现有小部件?

例如:如果我单击ITEM 1,则颜色从绿色变为红色,但是如果滚动到底部并向后滚动到顶部,则ITEM 1颜色将变为绿色。如果不管滚动如何单击,我都需要将ITEM 1颜色设为红色。

演示

这是代码:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
      theme: ThemeData(
        platform: TargetPlatform.android,
      ),
    );
  }
}

class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  List<Widget> _widgetList = List.generate(
    30,
    (index) => MarkWidget(
          key: Key('ITEM $index'),
          title: 'ITEM $index',
        ),
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("My List"), …
Run Code Online (Sandbox Code Playgroud)

listview state flutter

4
推荐指数
2
解决办法
279
查看次数

如何计算Flutter中的触摸坐标?

我想在“触摸坐标”处显示一个弹出窗口。我正在使用Stack and Positioned小部件放置弹出窗口。

touch dart flutter

3
推荐指数
1
解决办法
2261
查看次数