相关疑难解决方法(0)

如何在Dart中将双精度舍入到小数点后的给定精度?

给定一个double,我想将它舍入到小数点后的给定数量的精度,类似于PHP的round()函数.

我在Dart文档中找到的最接近的东西是double.toStringAsPrecision(),但这不是我需要的,因为它包括精度总点数小数点之前的数字.

例如,使用toStringAsPrecision(3):

0.123456789 rounds to 0.123  
9.123456789 rounds to 9.12  
98.123456789 rounds to 98.1  
987.123456789 rounds to 987  
9876.123456789 rounds to 9.88e+3
Run Code Online (Sandbox Code Playgroud)

随着数量的增加,我在小数位后相应地失去了精度.

precision double-precision dart

49
推荐指数
15
解决办法
3万
查看次数

垂直视口被赋予无限高度

我是新来的人.只需将我的网格视图居中:

在此输入图像描述

以下是我试过的代码:

  @override
  Widget build(BuildContext context) {
    return new Material(
      color: Colors.deepPurpleAccent,
      child: new Column(
       mainAxisAlignment: MainAxisAlignment.center,
          children:<Widget>[new GridView.count(crossAxisCount: _column,children: new List.generate(_row*_column, (index) {
            return new Center(
                child: new CellWidget()
            );
          }),)]
      )
    );
  }
Run Code Online (Sandbox Code Playgroud)

例外情况如下:

    I/flutter ( 9925): ??? EXCEPTION CAUGHT BY RENDERING LIBRARY ??????????????????????????????????????????????????????????
I/flutter ( 9925): The following assertion was thrown during performResize():
I/flutter ( 9925): Vertical viewport was given unbounded height.
I/flutter ( 9925): Viewports expand in the scrolling direction to fill their container.In this case, …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

36
推荐指数
12
解决办法
3万
查看次数

SingleChildScrollView 下的 MainAxisAlignment 不起作用

我开发了一个登录屏幕,当我打开键盘时首先出现渲染 flex 错误,因此我将我的小部件包装在 SingleChildScrollView 中,但是在那之后,列的 mainAxisAlignment 不起作用但是当我删除 SingleChildScrollView 时,除了渲染 flex 之外,一切正常错误。我不知道该怎么做,请帮助。以下是代码:

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

class LoginScreenOne extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: SafeArea(
          child: Stack(
            children: [
              Container(
                height: double.infinity,
                width: double.infinity,
                color: Colors.blue,
              ),
              SingleChildScrollView(
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.stretch,
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: [
                    Container(
                      width: double.infinity,
                      child: Padding(
                        padding: const EdgeInsets.only(top: 70, left: 20),
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            Icon(
                              Icons.keyboard_arrow_up,
                              size: 30,
                              color: Colors.white,
                            ),
                            Text(
                              "Login Screen",
                              style: TextStyle(
                                  color: …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

7
推荐指数
4
解决办法
1529
查看次数

Flutter 中根据不同屏幕尺寸有效缩放此 UI 的最佳实践

我正在 flutter 中做一个 UI,现在它在我的模拟器上看起来很棒,但我担心如果屏幕尺寸不同它会崩溃。防止这种情况的最佳实践是什么,尤其是使用 gridview。

这是我正在尝试做的用户界面(目前只有左侧部分):

用户界面

我现在拥有的代码正在运行。每个项目都在一个Container中,其中 2 个是Gridview

          Expanded(
            child: Container(
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  SizedBox(height: 100),
                  Container( // Top text
                    margin: const EdgeInsets.only(left: 20.0),
                    child: Column(
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: <Widget>[
                        Text("Hey,",
                            style: TextStyle(
                                fontWeight: FontWeight.bold, fontSize: 25)),
                        Text("what's up ?", style: TextStyle(fontSize: 25)),
                        SizedBox(height: 10),
                      ],
                    ),
                  ),
                  Container( // First gridview
                      height: MediaQuery.of(context).size.height/2,
                      child: GridView.count(
                          crossAxisCount: 3,
                          scrollDirection: Axis.horizontal,
                          crossAxisSpacing: 10,
                          mainAxisSpacing: 10,
                          padding: const EdgeInsets.all(10),
                          children: List.generate(9, (index) {
                            return …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

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

如何根据屏幕大小调整颤动小部件的大小?

我是 flutter 的初学者,我找到了这个我想使用的包https://pub.dev/packages/flutter_calendar_carousel。我正在尝试将它用于颤振网络应用程序。我去运行了这个例子,它可以工作,但是当我最大化窗口时出现问题,它看起来不太好;大圆圈,与在小窗口中时看起来不一样(大小问题,缩放不好):

在超宽显示器上最大化

我尝试使用 AspectRatio 小部件,它看起来更好,但它仍然太大。我不确定如何正确使用纵横比,但还有其他方法可以解决吗?TLDR;我希望日历可读并根据屏幕大小进行缩放。这是示例 btw 中的代码:


import 'package:flutter_calendar_carousel/flutter_calendar_carousel.dart'
    show CalendarCarousel;
import 'package:flutter_calendar_carousel/classes/event.dart';
import 'package:flutter_calendar_carousel/classes/event_list.dart';
import 'package:intl/intl.dart' show DateFormat;

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'dooboolab flutter calendar',
      theme: new ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-web

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