我正在尝试在 RichText 小部件中获取红色星号( );我可以使用 style 属性。但它会使整个文本变成红色。我只希望星号()是红色的。任何线索,如何实现它?
这是我的 RichText 小部件,现在我可以查看与文本其余部分颜色相同的星号 (*)。
RichText(
text: TextSpan(
text: '$labelText *',
style: TextStyle(
color: labelColor, fontWeight: fontWeight, fontSize: fontSize)),
textScaleFactor: labelTextScale,
maxLines: labelMaxLines,
overflow: overflow,
textAlign: textAlign,
);
Run Code Online (Sandbox Code Playgroud) 我在控制台上收到此警告
W/IInputConnectionWrapper(25185): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(25185): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(25185): getTextAfterCursor on inactive InputConnection
我正在使用 dateTime 键盘,当我在文本字段中输入文本时,光标移动到文本之前。这很烦人。我在某处读到需要处理/关闭 TextEditing 控制器。我不确定这意味着什么,以及这意味着什么。任何人都知道如何消除 TextInputController 上的这些警告和奇怪的行为。
dart material-design flutter flutter-dependencies flutter-layout
我想使用 ListView.builder 因为它的 itemBuilder 功能。但我想关闭可滚动功能,因为它使我的应用程序难以使用,因为我最终只滚动使用 ListView.builder 制作的小部件,而不是整个屏幕。因此,只有屏幕的某个小部件滚动,而不是整个屏幕,这使得用户体验很差。
Flutter 中的流构建器正在被召回。我不知道为什么。我相信问题可能是我在流构建器中有一个 bloc 提供者。我的流 dataBloc.dataStream 没有改变,导致流构建器再次构建。不确定,我做错了什么。流构建器是否一次又一次地构建我的小部件而流没有任何变化。显然这不是真的!对?
Widget build(context) {
final DataBloc dataBloc = DataBlocProvider.of(context);
print("dropdown build called again");
// this doesn't print recursively so this is perfect.
// So my build is not getting called again.
return StreamBuilder(
stream: dataBloc.dataStream,
builder: (context, snapshot) {
//ToDo remove prints
print("dropdown ${snapshot.data}");
// there is no change in snapshot.data, however print is getting called recursively. This is bad and wrong
// so my stream builder is getting called again, and this is wrong …
Run Code Online (Sandbox Code Playgroud) 我有一个流生成器,我想访问以前从流中发出的值。如果熟悉distinct,他们一定知道distinct基本上检查前一个值和当前值是否相同。我想访问以前的值。创建我自己的自定义条件。
我正在使用 RxDart 中的重播主题,最大容量为:2。每当我使用 sink.add(data); 将某些内容添加到流的接收器时,就不会;所有 replay-subject 实例都被新数据替换。因此,我无法访问以前的数据,它只是被覆盖。我在如何将数据添加到重播主题方面需要帮助。如果不使用sink.add()方法
面对BlocProviders的问题.
据我所知,一个集团应该可以在继承的小部件范围内的任何地方访问.
我有一个App类,它恰好是我的核心类,在那里我构建我的素材App
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'E-Form',
color: Color(0xFF44697D),
home: BlocProvider(child: LaunchScreen()),
);
}
Run Code Online (Sandbox Code Playgroud)
现在我有了LaunchScreen类,这里我没有使用我的BlocProvider,但是我已经在我的App类中使用BlocProvider完全包装了LaunchScreen
class LaunchScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final bloc = BlocProvider.of(context);
return Scaffold(
appBar: AppBar(
title: Text('First Screen'),
),
body: Center(
child: RaisedButton(
child: Text('Launch screen'),
onPressed: () {
// Navigate to second screen when tapped!
Navigator.of(context).push(
MaterialPageRoute(builder: (context) => Home()),
);
},
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
现在再次在我的第三课,即Home()课.我正在尝试使用我的BlocProvider.在这里我得到一个错误,说bloc为null
class Home extends StatelessWidget {
Widget build(context) …
Run Code Online (Sandbox Code Playgroud) get
我的 dart 文件中有一个函数,我在其中使用了 lambda。我正在使用 DartLint,它告诉我不要创建 lambda,如果可以撕掉的话。我不确定如何在我的用例中使用撕裂。
///To change data to our Stream using Sink.
Function(dynamic) get changeData => (event) {
_dataBlocController.add(event);
};
这是我的 lambda 函数,如何将其撕下。我已经阅读了文档,但我没有得到语法正确的解决方案。
感谢您的帮助!