如何删除 Flutter IconButton 的大填充?
我想拥有一排互相互相,但是在实际图标和Iconbutton限制之间似乎有很大的填充.我已经将填充在按钮上设置为0. 这是我的组件,非常简单: class ActionButtons extends StatelessWidget { @override Widget build(BuildContext context) { return Container( color: Colors.lightBlue, margin: const EdgeInsets.all(0.0), padding: const EdgeInsets.all(0.0), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ IconButton(
6 2024-04-05
编程技术问答社区
用bloc创建一个全局加载屏幕的最佳方法?
我尝试在带有第一个脚手架的小部件树上创建一个加载屏幕小部件.它在那个脚手架内部正常工作.当我navigator.push到另一个脚手架并尝试触发加载屏幕时,它不会出现在第二个脚手架上.它仅在第一个脚手架之上工作. 我看到了一个带有单个脚手架应用程序的方法.但这在我的背景下不适合.是否有任何方法可以创建一个影响其下面的所有脚手架的堆栈或使用全局加载屏幕的最佳方法是Bloc 的对话框 解决方案 创建全局加载屏幕或对话框的最佳方法是使用获取软件包路由管理功能,您需要做的就是用 将小部件树包裹 GetMaterialApp而不是MaterialApp 然后您可以致电 Get.generalDialog(...)或Get.dialog(...) 应用程序中的任何地方.而且,如果您决定使用其他手段,例如Flutter的Instruilt showDialog(...)并需要访问基本物料的上下文,则可以调用Get.context
4 2024-04-01
编程技术问答社区
我试图存储从Rest API获取的授权令牌,然后在Flutter中其他API调用的标题中使用它。
作为该问题的标题,大多数问题都可以详细介绍. 因此,我正在使用POST方法调用API并注册用户,该用户向我提供了仅包含授权令牌的响应数据,该数据需要在调用其他API时使用. 现在,我想将令牌存储并在标题中使用其他API调用. 我正在附上一些代码片段,这些代码段可能证明我实际上所做的事情以及为了获得特定结果而需要做的事情. 我正在获得获取钥匙的API响应,但我无法理解为什么它不会被存储,为什么我不能在标题中使用它. API调用,仅返回响应中的令牌 final storage = SecureStorage(); Future registration(dynamic param) async { var client = http.Client(); try { var response = await client .post(Uri.https("baseURL", "endpo
8 2024-03-01
编程技术问答社区
翩翩起舞 - 两个文本在一排,左边一个优雅地溢出来
我如何获得两个并排的文本小部件,只允许最左边的一个窗口优雅地溢出? 列中的一个文本小部件很容易优雅地溢出. 连续两个文本小部件是有问题的. 堆栈溢出需要更多细节,但是说实话,我可能只是在浪费您更多的时间. Widget _listItem({String title, String subtitle}){ return Row( children: [ _listItemIcon(), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ _listItemTitle(title), Row( children: [
42 2023-10-18
编程技术问答社区
未经手的例外:查找停用的小部件的祖先是不安全的.如何解决这个问题?
我正在尝试将Stripe Adday集成到Flutter Mobile应用中.完成付款后,我希望该应用执行Navigator.pop(context).但是,我收到的错误消息说 未经治疗的例外:查找停用的小部件的祖先是不安全的. E/Flutter(2773):此时,小部件的元素树状态不再稳定. 这是我的条纹付款代码 class ExistingCardsPage extends StatefulWidget { static const String id = 'exsiting-card'; ExistingCardsPage({Key key}) : super(key: key); @override ExistingCardsPageState createState() => ExistingCardsPageState(); } class ExistingCardsPageState extends State
56 2023-10-03
编程技术问答社区
必须向一个文本部件提供一个非空的字符串
我正在尝试添加调整数量的选项,但我遇到了一个错误,说"必须向文本窗口小部件提供一个非编号字符串" 如何将此代码提供给该代码? trailing: Container( height: 60, width: 60, padding: EdgeInsets.only(left: 10), child: Column( children: [ new GestureDetector(child: Icon(Icons.arrow_drop_up), onTap: () {}), new Text(cart_prod_qty), new GestureDetector(child: Icon(Icons.arrow_drop_down), onTap: () {}) ], ), 解决方案 您应该检查Null Safe Text(cart_prod_qty??'default value'), 其他解决方案 只需检查null并给出默认值 Text(cart
20 2023-10-01
编程技术问答社区
为Flutter应用程序添加闪屏
您将如何接近添加飞溅屏幕以扑打应用程序?它应该在任何其他内容之前加载和显示.当前,在脚手架(HOME:X)窗口小部件加载之前有短暂的颜色. 解决方案 我想对在flutter中进行飞溅屏幕的实际方式删除. 我跟随痕迹在这里在颤音中的飞溅屏幕看起来很糟糕. 也许大多数开发人员(像我一样)都认为默认情况下没有飞溅屏幕,他们需要对此做些事情.有一个飞溅屏幕,但它具有白色背景,没有人能理解iOS和Android的飞溅屏幕. 开发人员唯一需要做的就是将品牌图像放在正确的位置,飞溅屏幕将开始工作. 这是您可以逐步完成的方法: 首先在Android上(因为是我最喜欢的平台:)) 在您的Flutter Project中找到" Android"文件夹. 浏览到应用程序 - > src-> main-> res文件夹,然后将品牌图像的所有变体放在相应的文件夹中.例如: 需要将密度1的图像放在MIPMAP-MDPI中, 需要将密度1.5的图像放在mipm
28 2023-09-08
编程技术问答社区
如何在flutter中添加签名?
我已经实施了 signature_pad_pad 在我的Flutter Project中,它正常工作. 不幸的是,当我将其放在SingleChildScrollView中时,签名不会绘制.它滚动而不是签名. 似乎是GestureDetector,但我不知道如何修复它. 有人可以给我一些线索吗? 谢谢. 解决方案 Signature Class需要修改以响应VerticalDrag,我将其重命名为Signature1 现在,签名区域垫不应滚动,您可以在下面的行为上检查下面的完整代码.您会发现签名区域不再使用SingleChildScrollView. 滚动 import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'dart:async'; import 'dart:ui' as ui; void main() => runApp
24 2023-09-03
编程技术问答社区
如何在ListView中添加滚动指示器
有什么方法可以在ListView? 上显示滚动指示器 这是我的基本代码: ListView.builder( itemCount: 50, itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),), ) 解决方案 感谢GünterZöchbauer. 您可以在Scrollbar 中包装ListView Scrollbar( child: ListView.builder( itemCount: 50, itemBuilder: (context, index) => ListTile(title: Text("Item= ${index + 1}"),),), ) 其他解决方案 我认为最好使用CupertinoScrollbar而不是Scrollbar. CupertinoScrollbar可以触摸并滚动到底部. ex
24 2023-08-23
编程技术问答社区
Flutter-如何从部件(IconButton、CheckBox、FlatButton)中移除默认的padding(按文档规定为48px)。
我面临着小部件默认填充(ICONBUTTON,CECKBOX,FLATBUTTON)的问题.我已经搜索了很多问题,但没有成功. 在上图中,外蓝色的矩形是这些小部件的实际尺寸,我必须删除该空间. Checkbox( onChanged: (value) { setState(() { _rememberMeFlag = !_rememberMeFlag; }); }, value: _rememberMeFlag, activeColor: const Color(0xff00bbff), materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, ) 及以下是隐藏/显示小部件图标的小部件代码: new Container(
16 2023-05-16
编程技术问答社区
Flutter-在容器上叠加卡片小部件
在扑朔迷离中,是否可以将卡片的一部分放在另一个容器上?在CSS中,我们将保证金设置为负值或使用Translate属性.在颤动中,我们无法将负值设置为边缘顶部,是否有替代方案? 解决方案 是的,您可以使用Stack窗口小部件来实现它.您可以在背景上堆叠卡片并提供顶部或底部填充. 一个简单的例子看起来像: class StackDemo extends StatelessWidget { @override Widget build(BuildContext context) { return new Stack( children: [ // The containers in the background new Column( children: [ new Container( height: Medi
86 2023-05-15
编程技术问答社区
如何在Flutter中实现滚动控制器(滚动小部件)?
我正在尝试在扑朔迷离中实现滚动小部件,但无法实现它. 我看到了许多教程,但它们已经实现了具有ListView或Grid视图的滚动小部件. 就我而言,我的注册页面具有多个文本输入和按钮.在这种情况下,我的页面不会向下滚动,请帮助某人. div{ Scroll Widget on the Register page. } 解决方案 您可以使用SingleChildScrollView进行这样的滚动. SingleChildScrollView( child:Column(...) ) 其他解决方案 喜欢这个 class ExampleScroll extends StatefulWidget { @override _ExampleScrollState createState() => _ExampleScrollState(); } class _ExampleScrollState extends State
36 2023-04-21
编程技术问答社区
使用函数声明将一个函数绑定到一个名字上
我是新手的狂潮.我正在使用相机插件将相机添加到我的应用中.我得到了此警告,请使用函数声明将函数绑定到名称.我该如何解决这个? 代码 - Widget _cameraTogglesRowWidget() { final List toggles = []; final onChanged = (CameraDescription? description) { if (description == null) { return; } onNewCameraSelected(description); }; 解决方案 DART的有效用法文档表明,使用函数声明构造是一种更好的做法,而不是将分配给匿名函数. 是 int foo() => 1 而不是 int Function() foo = () => 1 在您的示例中,这意味着要声明一个函
54 2023-04-21
编程技术问答社区
如何在Flutter中指定ListTile的高度
在此代码中,我正在尝试在页面顶部列出按钮或瓷砖"因为按钮对我不正常".因此,当单击一个人时,它将返回页面其余部分中的值. 问题是,这里的瓷砖大约在页面的一半以上,这使其看起来不一致.我想限制瓷砖的高度,我尝试将它们连续放入一个容器中,但它不起作用.任何帮助将不胜感激. 运行代码后的结果是: 这是运行代码后的错误: class HomePage extends StatefulWidget { // const HomePage({Key key}) : super(key: key); @override HomePageState createState() { return new HomePageState(); } } class HomePageState extends State { List temp=new List(); List temp1=['Nile University', 'Smart V
22 2023-04-21
编程技术问答社区
flutter在一个widget的多个实例中共享状态
在我的Flutter应用程序中,我有一个ConnectivityStatus窗口小部件,该小部件显示了该应用程序与Raspberry Pi的当前连接状态.在我的小部件的initState中,我订阅一个计时器,每5秒检查一次连接并相应地更新状态,然后在处置时取消订阅. 问题是,当多个屏幕使用ConnectivityStatus窗口小部件(例如在堆栈导航器设置中)时,我现在有两个并发订阅,因为两项实例都没有处理.这会导致许多多余的不需要的请求. 我真正想要的是在多个屏幕上共享一个小部件的一个实例,或者具有一个全局状态多个实例可以访问. 我该如何实现我的问题或其他推荐解决方案? 解决方案 实现这一目标的最简单方法是使用senstaritedwidget将连接status传递到降落的小部件. https://api.flutter.flutter.dev/flutter.dev/flutter/widgets/widgets/inheritedwidget-class-
42 2023-04-21
编程技术问答社区
如何在flutter中检查两个widget是否重叠?
我想知道我们是否可以检查颤音中的两个小部件是否重叠.实际上,我有两个使用堆栈堆叠的AnimatedContainer.我想检查两个人的孩子是否重叠.我实际上是在从头开始创建游戏,并想检查碰撞.尽管X和Y是一种选择,但它取决于两个对象的高度和宽度,并且它们的具有不同的状态,因此结果非常不准确. 任何帮助将不胜感激. 解决方案 您可以将key传递给小部件,然后使用key.currentContext.findRenderObject()获得渲染对象. 这是一个有效的审查 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) => MaterialApp(home: MyPage()); } class
20 2023-04-21
编程技术问答社区
如何在Flutter的画布上绘制一个小部件?
有什么方法可以在Canvas上给定位置绘制Widget? 更具体地说,我想在实际FlutterMap窗口小部件前面的单独Canvas上绘制与FlutterMap相关的儿童小部件.这是创建可以做到这一点的CustomPainter的尝试,但是我不知道如何在画布上实际绘制小部件.使用RenderObject需要一个PaintingContext,我不知道如何创建/检索: class MarkerPainter extends CustomPainter { MapController mc; BuildContext context; List markers; MarkerPainter(this.context, this.mc, this.markers); @override void paint(Canvas canvas, Size size) { if( markers != null && markers.isN
58 2023-04-21
编程技术问答社区
Flutter: 无法从Firebase读取数据。方法'[]'被调用时出现了null错误。
我正在尝试在扫描条形码后从Firebase中读取数据. 这是应该出现的方式,但是它应该从数据库中显示名称和价格,而不是条形码 ( https://m.imgur.com/gallery.com/gallery/lefjz0q ) 代码: class ListTileModel { String barcode; ListTileModel(this.barcode); } 以下代码在状态小部件内部 List _items = []; String barcode = ""; void _add() { _items.add(ListTileModel(barcode)); setState(() {}); } @override void initState(){ super.initState(); } 使用: 使用的streambuiler new Cont
如何删除膨胀瓦的顶部和底部的默认填充,以引导小部件的飘动
需要将填充物删除到扩展瓷砖小部件的列表项 请找到实际结果的图像.预期结果应删除顶部底部空间 这是任何人可以帮助我的代码: Theme( data: theme, child: ListTileTheme( contentPadding: EdgeInsets.all(0), dense: true, child: ExpansionTile( title: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ GFCheckbox( inactiveBgColor: kColorPrimaryDark, inactiveBorderColor: Colors.white,
24 2023-04-13
编程技术问答社区
如何在flutter中添加行间空间?
主要问题是我想在行之间添加一些空间,而这行是SingleChildScrollView的孩子,我的小部件树: child: SingleChildScrollView( child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( // first row with 3 column mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Container(), Container(), Container(), ], ), Row(
36 2023-04-13
编程技术问答社区