【问题标题】:Layout bounds not showing in Fultter app but it shows for other apps布局边界未在 Flutter 应用程序中显示,但在其他应用程序中显示
【发布时间】:2019-07-16 05:24:55
【问题描述】:

我刚开始使用颤振并使用默认配置创建了一个空白应用程序,当我从开发人员选项中打开显示布局边界时,它没有像任何其他应用程序那样显示任何边界。

这是怎么回事?

【问题讨论】:

  • 在颤动中,一切都是小部件。 Widget 渲染由 Flutter 中的 ObjectRender 处理。您无法获取小部件在屏幕上的大小或位置,因为小部件就像一个蓝图,它实际上并不在屏幕上。它只是对底层渲染对象应该使用哪些变量的描述。
  • @FirzanShaikh能否解释一下flutter如何渲染android布局边界无法识别任何布局的布局?

标签: android flutter android-developer-api


【解决方案1】:

要从 Flutter 应用的开发者选项中显示 布局边界,我们必须这样做

  1. 将此包导入main.dart 类。

    import 'package:flutter/rendering.dart';
    
  2. build()main() 中,您必须将此debugPaintSizeEnabled 变量设置为true

    debugPaintSizeEnabled = true;
    

示例:这是我的完整课程

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

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.

  @override
  Widget build(BuildContext context) {
    debugPaintSizeEnabled = true;
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(    
        primarySwatch: Colors.blue,
      ),
    home: MyHomePage(title: 'Flutter Demo Home Page'),
    
    );
  }
}
class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.display1,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }
}

【讨论】:

  • 这正是我想要的。
  • 完美。它节省了我很多时间。谢谢。
猜你喜欢
  • 2013-03-15
  • 1970-01-01
  • 1970-01-01
  • 2019-07-30
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 2022-07-19
  • 1970-01-01
相关资源
最近更新 更多