相关疑难解决方法(0)

Flutter:Widget构建完成后运行方法

我希望能够在Widget完成构建/加载后运行函数,但我不确定如何.我目前的用例是检查用户是否经过身份验证,如果没有,则重定向到登录视图.我不想在之前检查并推送登录视图或主视图,它需要在主视图加载后发生.有什么我可以用来做这个吗?

谢谢

dart flutter

42
推荐指数
10
解决办法
3万
查看次数

Flutter - 检测内容溢出并对其进行剪辑

我正在尝试将ClipRect与其中的Column一起使用,但它似乎效果不佳。

我想要实现的是剪辑列的内容并在溢出时显示文本消息(如果列的内容无法在可用空间内显示)。

你对我如何实现它有什么建议吗?

import 'package:flutter/material.dart';

void main() => runApp(ContentOverflowDetectionApp());

class ContentOverflowDetectionApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("Overflow detection"),
        ),
        body: Stack(
          fit: StackFit.expand,
          children: [
            ClipRect(
              child: Column(
                children: [
                  Container(
                    width: 300,
                    height: 400,
                    color: Colors.green[200],
                    child: Text('first widget'),
                  ),
                  Container(
                    width: 350,
                    height: 350,
                    color: Colors.yellow[200],
                    child: Text('overflowed widget'),
                  ),
                ],
              ),
            ),
            Positioned(
              child: Align(
                alignment: FractionalOffset.bottomCenter,
                child: Text("SHOW THIS TEXT ONLY IF …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

Flutter:在构建之前获取小部件大小

有什么方法可以测量尚未构建的小部件的尺寸,但这只是一个变量示例:

列 myColumn = Column(children[......]);

myColumn.iWouldLikeToGetItsHeightAndWidth();

size widget flutter

13
推荐指数
1
解决办法
7409
查看次数

如何使用SizeChangedLayoutNotifier?

Wrap在我的SliverAppBar. 现在,当 Wrap 的大小发生变化(动态)时,我需要收到通知,这样我就可以相应地更改 SliverAppBar 中的 flexSpace 的高度。

我阅读了SizeChangedLayoutNotifier的文档,但我不太明白如何使用它。我Wrap小时候把我包裹在 a 中SizeChangedLayoutNotifier,但对我来说,非常不清楚如何用 捕获通知NotificationListener<SizeChangedLayoutNotification>。我找不到任何代码示例。

我非常感谢您的帮助:) 谢谢!

flutter flutter-layout

12
推荐指数
1
解决办法
3510
查看次数

Flutter,如何获取小部件的大小?

我遇到了这个例子来获取小部件的大小/位置:https : //medium.com/@diegoveloper/flutter-widget-size-and-position-b0a9ffed9407

我的代码有什么问题?

我收到错误:

The following NoSuchMethodError was thrown while handling a gesture:
I/flutter ( 8566): The method 'findRenderObject' was called on null.
I/flutter ( 8566): Receiver: null
I/flutter ( 8566): Tried calling: findRenderObject()
Run Code Online (Sandbox Code Playgroud)
void main() {
      runApp(new MyApp());
    }

    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(home: MyWidgetSizeTMP());
      }
    }

    class MyWidgetSizeTMP extends StatefulWidget{
      @override
      MyWidgetSizeTMPState createState() {
        return new MyWidgetSizeTMPState();
      }
    }

    class MyWidgetSizeTMPState extends State<MyWidgetSizeTMP> {

      //creating Key for red panel …
Run Code Online (Sandbox Code Playgroud)

size widget flutter

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

为每个页面创建一个具有动态高度的 Flutter Carousel Slider

我有一个带有虚线指示器的轮播滑块,如此图所示

滑块的每一页都是一个 Card 小部件,其子级为 ListView。

如果卡片不在轮播小部件内,它会随着列表视图内元素的增加而扩展。

我想为滑块的每个页面保持这种行为,但是当我将卡片放入滑块内时,它们不再根据内容调整大小,但似乎有一个预定义的高度(即使我没有指定)任何!)。

如何动态更新滑块内卡片的高度?

这是我的代码:

main.dart文件

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Slider App',
      home: MyHomePage(),
    );
  }
}

class GeneralEvent {
  final String title;
  final String desc;
  GeneralEvent(this.title, this.desc);
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

final List<GeneralEvent> userEvents = [
  GeneralEvent(
    "List Item 1",
    "Lorem ipsum dolor sit amet, …
Run Code Online (Sandbox Code Playgroud)

android slider carousel dart flutter

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

如何在颤振中计算 GridView.builder 的 childAspectRatio

带有图像和类别名称的类别网格显示在图像下方

 Widget build(BuildContext context) {
return FutureBuilder(
    future: categoriesService.getCategories(1),
    builder: (BuildContext context, AsyncSnapshot snapshot) {
      if (snapshot.connectionState == ConnectionState.done) {
        if (snapshot.error != null) {
          print('error ${snapshot.error}');
          return Text(snapshot.error.toString());
        }
        // YOUR CUSTOM CODE GOES HERE
        return Container(
          // padding: const EdgeInsets.all(0.0),
          child: GridView.builder(
            physics: NeverScrollableScrollPhysics(),
            shrinkWrap: true,
            gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
              crossAxisCount: 3,
              // childAspectRatio: 19 / 12,
              mainAxisSpacing: 10.0,
              crossAxisSpacing: 10.0,
            ),
            itemCount: snapshot.data.length,
            itemBuilder: (context, index) {
              Category category = snapshot.data[index];
              return Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.start,
                children: <Widget>[ …
Run Code Online (Sandbox Code Playgroud)

flutter

7
推荐指数
6
解决办法
9947
查看次数

替换文字(如果会溢出)

我想知道Flutter中是否有一种方法可以显示替代文本(如果原始文本溢出)。

例:

默认情况下,我显示的是完整日期:January 1, 2019

但是,如果我在小屏幕上会溢出(January 1...),则想显示一个不同的字符串(1/1/2019)。

text flutter flutter-layout

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

Flutter 布局:VerticalDividers 未显示

我有一个简单的布局,由一个 Column 和几个孩子组成。其中一些是包含孩子的行。我在 Column 的孩子之间添加了 Dividers,在 Rows 的孩子之间添加了 VerticalDividers。(水平)分隔线显示良好。但是 VerticalDividers 没有显示在应用程序中。

我已经尝试将 Rows 子项包装在其他一些布局小部件(如 Container)中,但似乎没有任何效果。

截屏

import 'package:flutter/material.dart';

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

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Test App'),
      ),
      body: Column(
        children: <Widget>[
          Expanded(
            child: Center(
              child: Text('Hello World'),
            ),
          ),
          Divider(height: 1),
          Row( …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

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

限制文本小部件的字符数?

我试图找出如何在抖动文本小部件中显示省略号之前限制显示的字符数量。

flutter

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

标签 统计

flutter ×10

dart ×3

flutter-layout ×3

size ×2

widget ×2

android ×1

carousel ×1

slider ×1

text ×1