我试图在包含登录和注册的基本身份验证表单上使用BLOC模式,其中登录和注册之间的唯一区别是注册有一个额外的确认密码字段,该字段也有助于确定是否应启用注册按钮
我有两个问题:
1.这是一个问题。当前,如果我输入通过login验证的某个登录名,然后切换到Signup表单,Signup按钮被启用,这是错误的,因为Confirm Password仍然为空。如何解决这个问题?
2.我觉得有比我所做的更好的方法来实现确认密码验证和注册按钮验证。我最初尝试为Confirm Password创建一个验证器,但它
我正在开发一个颤振应用程序来显示速度本身。但有时,速度在UI中无法正确呈现。这种情况并不总是发生,但有5-10%的时候会发生。
我尝试添加另一个文本字段,其下方的大小较小(只是为了调试),并且相同的文本正确地呈现在那里
2个屏幕截图-一个正确,一个有错误
我正在使用一个列小部件来显示文本,这就是我构建子列表的方式:
List<Widget> children = [];
children.add(Container(
child: Text(listenerSpeedTe
许多本地移动聊天信使,如telegram、whatsapp等,都实现了这种包装行为:当没有足够的文本空间时,将时间标签包装到新行
简单的聊天泡泡由两部分组成:文本和时间标签。在简单的情况下,它们几乎位于同一基线上。即使文本为多行(最后一行的基线)。但在某些情况下,当没有可用空间且文本试图相交时,会在气泡底部添加缩进
如果我通过图片和视频展示,它将很容易理解:
和2个视频:
多行
单线
如何在颤振上实现它 您可以使用Wrap小部件执行非常类似的操作,但不完全相同:
Card(
我正在尝试在Flatter应用程序中实现AdMob的广告。我两天前创建了Admob Id,我的帐户已获得Admob的批准。我通过测试应用Id及其工作情况测试了应用程序(横幅广告),但它与我的真实应用Id不工作
寻求帮助
I/Ads (14486): No fill from ad server.
W/Ads (14486): Failed to load ad: 3
I/flutter (14486): Admob banner failed to load. Error cod
我没有签入真实设备,而是测试模拟器
我在CustomScrollView中编写了一些代码。请看下面的代码。当我运行代码片段时,我面对的屏幕没有平滑滚动,而在模拟器中上下滚动iphonexr.检查其他模拟器后,它工作正常吗?下面的代码有什么问题吗?我不这么认为,否则我就不会在其他模拟器上工作了
import 'package:flutter/material.dart';
class AnimalWidget extends StatefulWidget {
_AnimalWidgetSta
我在我的应用程序中插入了一个摄像头,ImagePicker只访问摄像头,但不允许我自定义预览屏幕(如whatsApp摄像头),或者我不知道如何操作。有什么建议吗?请检查
我试图在两条路线上共享同一集团。
但当我从第二条路线回来时,这个集团会自动被处置,所以在第一条路线上,我发现自己所有的河流都关闭了
例如,这是我实例化bloc的第一条路线(主页),从api下载一个列表,并在build方法中显示它
class HomePage extends StatefulWidget {
@override
State<StatefulWidget> createState() => _HomePageState();
}
class _HomeP
当我从服务器返回的数据开关实现分页ListView时,我可以简单地测试这种分页能力,这很好,例如,通过这段代码,我可以通过简单的数据生成列表列:
list.add(
PostItem((b) =>b
..title = 'lorem ipsum'
..colorInt = _randomGenerator.nextInt(0xFFFFFFFF)),
);
return BuiltList.of(list);
现在,我尝试从服务器获取数据,
此时会出现包含一些框的对话框。
1.我不知道这些盒子(我不知道它们叫什么)将如何像这样排列
以及如何为对话框指定标题
import 'package:flutter/material.dart';
Dialog leadDialog = Dialog(
child: Container(
color: Colors.white,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
我想每24小时删除一次SharedReferences,即使应用程序关闭。
这是SharedReferences:
int _counter = 0;
@override
void initState() {
super.initState();
_loadCounter();
}
//Loading counter value on start
_loadCounter() async {
SharedPreferences prefs = aw
有没有办法在颤振中创建拖放对话框?例如,在屏幕中央显示对话框后,我想将其拖动到屏幕顶部,以在当前封面上创建全屏对话框,例如,这段代码是显示对话框的简单实现,我不确定,如何才能做到这一点
导入“包装:颤振/材料.省道”;
void main()=>runApp(新的MyApp());
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回MaterialApp(标题:“颤振演示”,主题:主题数据(),主页());
}
}
类页面扩展了无状态小部件{
@凌驾
小部件构建(构建上
我正在构建一个带有flatter和提供者模式的应用程序。我有一个特定的ViewModel,它是由Provider.of(context)提供的
类主屏幕扩展小部件{
@凌驾
小部件构建(构建上下文){
返回ChangeNotifierProvider(
生成器:()=>AddressBookViewModel(),
孩子:脚手架(
正文:_getBody(上下文);
}
Widget\u getBody(构建上下文){
AddressBookViewModel vm=Provider.of(上下
我是颤振框架的新手,我想使用自定义列表。
My(body:)我想在列中添加listviewBuilder,但我给出了一个空页面。如果我只在身体部位使用listView,一切都很好
这是我的小部件:
Widget _buildListView() {
return ListView.builder(itemBuilder: (BuildContext context, int index) {
return Dismissible(
key: Key('ke')
我使用ListView显示我从Firebase获得的所有帖子,当用户按下按钮时,他们会将一篇特殊帖子的DocumentID发送到一个“like”函数,但我收到以下错误:
I/flutter (28036): ══╡ EXCEPTION CAUGHT BY GESTURE
╞═══════════════════════════════════════════════════════════════════
I/flutter (28036): The following NoSuchMetho
如何将数据发送到其他屏幕帮助我。
我使用的是数据表api,但它需要字符串数组中的json,所以我想将数据发送到数据表页面。如何在读取json文件后发送数据。帮帮我。因为您没有提供任何代码,所以很难确切知道您在尝试什么。但将数据向下传递给子对象看起来是这样的(当您不想使用诸如Provider或BLOC之类的状态管理lib时)
导入“包装:颤振/材料.省道”;
类父级扩展StatefulWidget{
@凌驾
_ParentState createState()=>\u ParentState();
我试图返回主屏幕,但返回到上一个活动,我尝试了onWillScope(),有人知道解决方法吗
我想要实现什么?
按返回键=>转到主屏幕,而不是应用程序的上一个活动。在您的onWillPop回调中使用此选项
SystemNavigator.pop();
我不想重定向到主页,我希望应用程序在按下后关闭。但我们帖子的最后一行说on back pressed=>go to home screen是的,所以所有内置应用程序都在主屏幕上(当应用程序关闭时,你回到你的主屏幕,我的意思是这样),我尝试了这一
我正试图捕获小部件的屏幕截图并将其保存到手机图库中,但它给我的错误如下。我需要帮助>您可以复制粘贴运行下面的完整代码
您需要权限写入外部存储
步骤1:在AndroidManifest.xml中添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
工作演示
完整代码
import 'dart:io';
import 'dart:typed_data';
import 'p
视频url来自api。我试着使用视频播放器,但没有播放。。在initState()上初始化时,它工作。但是我需要初始化构建方法
return FutureBuilder(
future: initializingPlayer(snapshot.data[index].content),
builder: (BuildContext context,AsyncSnapshot<VideoPlayerC
如何在创建UI之前调用API,并且仅在API响应到达时加载UI(在颤振中)
基本上,我只想在API响应到达时加载UI,否则我想显示错误消息。如何实现此目标?使用FutureBuilder:
基于交互的最新快照构建自身的小部件
有未来
完整示例:
import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:convert';
import 'package:flutter/foundation.dart';
我正在构建一个应用程序,其中我正在使用Iconda类创建图标。我想将图标以字符串或int等格式存储到数据库中,然后检索它,方便地将其转换回图标
这就是我创建图标的方式
var iconData = IconData(58717, fontFamily: 'MaterialIcons')
var icon = Icon(iconData)
有人能建议怎么做吗。转换可以在IconData或图标创建阶段完成。谢谢。您不需要将IconData保存在数据库中,您可以创建一个dart文件,将IconDa
我想在两个单独的文本字段中获取用户的输入,然后将这两个输入插入到我自己的等式中。当我使用print()函数(它打印正确的值)时,我现在拥有的代码似乎可以工作,但当我将它放入Text()元素时,它不会更新相同的值
以下是我在此阶段的代码:
class PageThree扩展了MaterialPageRoute{
第三页()
:super(生成器:(BuildContext ctx){
int年龄=0;
int annualspend=0;
int=0;
内部温度=0;
字符串errormsg=''
如何在颤振中更改下面的图标。这在诺基亚8.1中发生。
抽屉中的应用程序图标正确
下面是我当前的res文件夹
右键单击项目大纲中的android文件夹。转到新建>图像资源。(如果您没有看到图像资源作为选项,请尝试右键单击android/app文件夹。)现在您可以选择一个图像来创建启动程序图标
这将替换当前的启动器图标。您可以在mipmap文件夹中找到生成的图标:
如果您打算让您的应用程序成为多平台应用程序,那么您可以使用一个用于为两个平台生成启动程序图标的工具
你这样使用它:
将依赖项添加到p
我在Android Studio的颤振项目中遇到语法错误,无法使用ui.Gradient.linear构造函数实例化ui.Gradient
代码
这在CustomPainter子类中。
我已经将编译器错误发布为下面的注释
导入“dart:ui”;
...
@凌驾
空心油漆(帆布,尺寸){
最终跟踪绘制=绘制()
..strokeJoin=strokeJoin.round
..冲程宽度=2.0
…颜色=traceColor
..风格=绘画风格.笔划;
...
//这里:我已经尝试了以下几种方法,但
我需要重用我的过滤器小部件。到目前为止,过滤器小部件使用一个API(或模型类),其中包含所有逻辑。为了能够重用filter小部件,我需要向它传递不同的API,但我找不到方法。以下是我的部分代码,以便于更好地理解(简化)
您是否尝试过创建一个抽象类,比如说动物类,包含过滤器中使用的所有getter和setter
abstract class AnimalFilter {
get getWhatever;
...
}
然后实现该AnimalClass中的所有类(DogFilter、CatF
我试图将Dialogflow API集成到我的Flatter应用程序中;在提交消息后,我应该会收到Dialogflow的回复,但是
我得到一个错误:
发生异常。NoSuchMethodError NoSuchMethodError:错误
对null调用了方法“[]”。
接收者:无效
电话:
这是我的codechatbot.dart:
class Chatbot extends StatefulWidget {
Chatbot({
Key key,
this.title,
当我尝试使用没有键的Hive.box('box_name').listenable()时,发生错误:
════════ Exception caught by widgets library ═══════════════════════════════════
The following NoSuchMethodError was thrown building FutureBuilder<dynamic>(dirty, state: _FutureBuilderState<
我正在将一个保存为.jpg的矩形徽标加载到我应用程序中的CircleAvatar中
当我重新启动我的应用程序时,加载徽标的区域会显示几秒钟的蓝色。然后,真正的标志出现了
此小部件位于堆栈中
这就是我如何将我的1080x1073图像转换为Flatter中的圆形徽标
Container(
width: size.width * 0.5,
height: size.width * 0.5,
child:
图像未加载,甚至未获取错误
Card(标高:5.0,子项:Image.asset('Assets/images/profile.jpeg',fit:BoxFit.cover,),),
确保将图像位置添加到pubspec.yaml中
Card(
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(&quo
如何让用户上传任意数量的图片。因此,可以根据需要上传1到5张图片。在这里,如果用户上传全部5张图片,一切都很好,但是如果你上传的图片少于5张,它就会冻结并给出这个错误,
我甚至不知道existsSync是什么,它从哪里来,在互联网上也没有。
这就是提交页面的样子,所以你不会问为什么有5个上传图像的功能。
导入“包装:颤振/材料.省道”;
导入“包:cloud_firestore/cloud_firestore.dart”;
导入“包:firebase_存储/firebase_存储.dart”;
我在我的颤振应用程序中遇到此错误
未处理的异常:类型“\u TypeError”不是类型“String”的子类型
List<Cars> cars = docs.map((e){
return Car(name: e.data["name"])
});
List cars=docs.map((e){
返回车(名称:e.data[“名称”])
});
答案是:您需要在map函数上使用.toList()
List<Cars> cars = docs
我的服务器是C#(windows窗体),我从中录制系统的声音,并通过websocket将声音作为字节数组段发送。我创建了一个客户端,用于播放从websocket服务器接收到的数据,
当我打印从服务器接收到的数据时,它会给我这样的信息
[44、208、240、11、78、112、62、234、159、35、145、128、240、99、91、,
123, 252, 181, 56, 44, 222, 214, 137, 206, 45, 55, 59, 114, 199, 206,
47, 230
我想从gallery中选择图像,但当我试图将其保存在共享首选项中时。我发现image_picker提供了临时位置,如tmp/image_picker_4415467867A964-791E-4AFA995BA-18295-0003861F9255294A。jpg
这不是图像的真实路径。我应该如何获取图像的原始位置路径以供以后使用
或者我想将整个图像保存在数据库中。。怎么办?
现在不推荐使用pickimage()
请帮忙
import 'dart:io';
import 'package:flut
我正在努力处理以下由函数调用的代码,但它“挂起”。当代码在for循环中迭代时,第一次找到匹配项并尝试删除时,它将挂起,不再继续:
for (var anItem in myItems) {
String s = aFunction(anItem.someField);
var matches= myItems.where((e) => aFunction(e.someField) == s);
if (matches.length > 1) {
myItems
我想创建一个如下所示的:
我正在使用以下代码:
TextField(
decoration: InputDecoration(
contentPadding: EdgeInsets.all(20.0),
labelText: "Last Name",
fillColor: Colors.transparent,
border: OutlineIn
我正在尝试从当前uid的文档中检索数据“name”和“email”。然而,我得到的数据是参考路径。有人能给我指出正确的方向吗?谢谢
现在,您只需引用文档路径即可。您需要对该文档进行查询
现在你有:
var userDetail = FirebaseFirestore.instance.collection('users').doc(user.uid);
将此更改为:
FirebaseFirestore.instance.collection('users').doc(user.uid)
我正在尝试在Flatter本地通知中使用ZonedSchedule。但异常正在返回,因为在null上调用了null“timeZone”。从pub dev的包导入包
现在,将它们添加到dart文件中,以参考tz:
import 'package:timezone/timezone.dart' as tz;
import 'package:timezone/data/latest.dart' as tz;
现在,让我们初始化时区:
void main() {
tz.initializeTime
以下颤振的文档创建了一个全屏选择器。这在手机上似乎很好,但在iPad和网络上却令人讨厌
我需要一种方法来约束比例以使覆盖更小。将builder参数添加到showDateRangePicker()函数将允许您将日期范围选择器放置在容器或约束框内
请记住,这似乎只在生成器的父窗口小部件是列时才起作用
示例:
dateTimeRangePicker() async {
DateTimeRange picked = await showDateRangePicker(
c
标签: Flutter
containerscustom-scrollingsliverappbar
两天前,我在Flatter中学习了sliver小部件的使用,当时我正在使用它来提高我的技能。我在做一个想象中的项目,我在那里遇到了一个问题
让我们想想,在我身体的容器中有15个容器在x小部件下允许它们垂直滚动。现在,我的目标是,当我滚动时,我想当容器号5到达顶部时,容器号5会像appbar或Silver appbar一样固定在那里,其他人会在它下面滚动
在这里,我使用CustomScrollView小部件下的sliver和SliverFixedExtentList来说明我的目标,如果还有其他没有
我是颤振的初学者
我尝试从Future类型函数中获取布尔值
这是我的Dart语言编码文件
我从第104行得到以下错误
无法将参数类型“Future”分配给参数类型“bool”
代码
isFavorite:_viewForFavorite(photoModel.id)
完整代码
import '../screens/detailView.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'p
我是一个新手,不知道如何从收藏中获取文件;代码中没有错误,但仍然无法获取文档
我试图在方法\u onPressed()中返回一个具有字符串的变量,但我在这一点上卡住了
Future _onPressed() async{
var msg;
await db.collection('Messages').doc(widget.brew.id).get().then((value){
print(value.data()['Message']);
retur
我创建了空的颤振应用程序并添加了依赖项flame。
组装后,我得到一个错误
../../../../.pub-cache/hosted/pub.dartlang.org/flame-0.28.0/lib/fps_counter.dart:10:8: Error: Type 'FrameTiming' not found.
List<FrameTiming> _previousTimings = [];
^^^^^^^^^^^
../../../../.pub-cac
我正在写一个适合移动设备的Flutter应用程序。我已经习惯了Android模式,用户在onPause中所做的所有更改都会持久化,这基本上是在当前屏幕进入后台时调用的。我找不到与之相当的颤振
我看到的所有示例都有一个“提交”按钮,但我希望当我按下后退或主页按钮(或者如果我按下应用程序栏中的保存图标)时,应用程序会保存数据
颤振应用程序通常在何处将状态保存到存储?您可以使用WidgetsBindingObserver获取AppLifecycleState.paused:
class MyPage
我有一个列,它的所有子项都是单词行(文本小部件),每行都有MainAxisAlignment.spaceBetween的主对齐方式。我想将列的宽度设置为子行之间的最长行,其他行将相应地更改子行之间的间距
我的代码:
Container(
color: Colors.green,
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
child
使用自制软件安装颤振:
我找不到SDK路径,尝试复制并粘贴此路径:
1./opt/homebrew/Caskroom/flatter/2.0.5/flatter/bin/internal/shared.sh,
和,/opt/homebrew/bin/flifter'
但结果显示指定为Flatter SDK home的文件夹不存在,如何在终端中找到Flatter SDK路径Typeflatter doctor-v,第一行将显示位置
谢谢,我一直在看它,但我想不出来!我是否可以执行以下操作永久添加
我正在用flutter做一个应用程序,当我改变手机的语言时,它会影响我的位置。例如,如果我的手机语言设置为英语,我只会看到使用英语语言设置注册到我的应用程序的用户。如果我将其更改为另一种语言(在设置中,比如说Romana),我只会看到使用该语言集在应用程序中注册的人。我有没有办法把地点限制在英语区?不受用户设置的影响。我不清楚您“只看到使用英语注册[…]的用户”的位置。这是在你的应用程序中,还是在Firebase控制台中,还是?Firestore查询是否有任何类型的.where()由语言参数(应
是否有人体验过main.dart中材质中设置的主题数据不符合主题的页面
如果出了什么问题,我不介意。但是有些页面遵循主题集,而其他页面有另一个主题,我不知道为什么。我还没有编写任何其他代码来指定提升按钮的任何新颜色或形状。如果子部件不在定义主题的同一棵树下,就会发生这种情况。最好的方法是打开flatterdeveloper工具并检查小部件状态。如果这没有帮助,试着用最少的代码来演示你的问题。你提到的可能是问题的原因,我会进行检查。谢谢你,吝啬鬼!你说得对!谢谢多亏了你,我才解决了这个问题
条件不适用于Flatter中的无状态小部件和提供程序
希望,我需要在特定选项卡中显示floatingAction按钮,但当前代码不能正常工作。浮动操作按钮在所有选项卡中工作
我试着调试,发现索引值被反映出来了,但在更改选项卡时按钮并没有消失
return DefaultTabController(
length: 3,
initialIndex: 0,
child: ChangeNotifierProvider<MainModel>(
我使用的是最新版本的
最小可复制代码:
class\u FooPageState扩展状态{
班纳拉德(BannerAd);;
@凌驾
void initState(){
super.initState();
_bannerAd=bannerAd(
adUnitId:BannerAd.testAdUnitId,
大小:AdSize.largeBanner,
请求:AdRequest(),
侦听器:BannerAdListener(),
);
_bannerAd.load();
}
@凌驾
小部件构
我想使用dio和build_runner创建一个api服务。但当我在终端上运行flatter pub run build\u runner这个命令时,我得到了这个错误
[严重]改装\u发电机:改装开启
lib/web\u services/api\u services.dart:
类型“ExpandIterable”不是子类型
类型为“Iterable”或“Iterable”
这是我的api服务代码
part 'api_services.g.dart';
@RestApi(baseUrl: P
我有一个包含许多DragTables和DragTargets小部件的列表。我想在可拖动小部件的状态更改时更改DragTargets的颜色
最初,所有DragTargets小部件的颜色应为灰色,但当按下可拖动小部件时,它们应变为绿色
完成或取消拖动操作后,所有DragTargets小部件的颜色应再次变为灰色
我正试图通过使用flatter\u bloc来实现它,但我遇到了以下错误:错误:在这个\u InheritedProviderScope小部件上找不到正确的提供程序
下面是一个简单的例子: