小编GoP*_*Pro的帖子

如何在 Flutter 中设置红色星号 (*) 为必填字段

我正在尝试在 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)

dart flutter flutter-layout

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

Flutter -TextField Controller 在文本之前获取我的光标

我在控制台上收到此警告 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

6
推荐指数
1
解决办法
6159
查看次数

关闭 Listview.builder 的可滚动功能

我想使用 ListView.builder 因为它的 itemBuilder 功能。但我想关闭可滚动功能,因为它使我的应用程序难以使用,因为我最终只滚动使用 ListView.builder 制作的小部件,而不是整个屏幕。因此,只有屏幕的某个小部件滚动,而不是整个屏幕,这使得用户体验很差。

dart material-design flutter flutter-sliver flutter-layout

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

流构建器是否一次又一次地构建我的小部件而流没有任何变化?

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)

flutter flutter-sliver flutter-dependencies flutter-layout

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

Flutter Streams,如何访问之前从流中发出的数据

我有一个流生成器,我想访问以前从流中发出的值。如果熟悉distinct,他们一定知道distinct基本上检查前一个值和当前值是否相同。我想访问以前的值。创建我自己的自定义条件。

我正在使用 RxDart 中的重播主题,最大容量为:2。每当我使用 sink.add(data); 将某些内容添加到流的接收器时,就不会;所有 replay-subject 实例都被新数据替换。因此,我无法访问以前的数据,它只是被覆盖。我在如何将数据添加到重播主题方面需要帮助。如果不使用sink.add()方法

dart flutter flutter-sliver flutter-dependencies rxdart

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

BlocProvider在继承的小部件中不可用

面对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)

flutter flutter-sliver flutter-dependencies flutter-layout

4
推荐指数
1
解决办法
1836
查看次数

当撕下可以做时不要创建 lambda

get我的 dart 文件中有一个函数,我在其中使用了 lambda。我正在使用 DartLint,它告诉我不要创建 lambda,如果可以撕掉的话。我不确定如何在我的用例中使用撕裂。

///To change data to our Stream using Sink. Function(dynamic) get changeData => (event) { _dataBlocController.add(event); };

这是我的 lambda 函数,如何将其撕下。我已经阅读了文档,但我没有得到语法正确的解决方案。

感谢您的帮助!

dart flutter

3
推荐指数
1
解决办法
1049
查看次数