如何在颤动中更改光标颜色

Ema*_*een 1 flutter flutter-layout

亲爱的,如果您不介意的话,我有2个问题。

1-如何更改光标的颜色,因为它默认为蓝色,但我不喜欢它

2-无论屏幕大小如何如何在屏幕底部显示文本。??

先感谢您。

在此处输入图片说明

Sye*_*yed 30

这在 iOS 和 Android 中都可以正常工作:

TextField(cursorColor: Colors.white)
Run Code Online (Sandbox Code Playgroud)

但是,如果您想将其设置为主题,那么

解决方案 1 - 原始答案,最近未经过测试,而且似乎已被弃用:

我在这里找到了解决方案:

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

MaterialApp(
  title: "Rate your Colleagues",
  theme: ThemeData(
    // for iOS
    cupertinoOverrideTheme: CupertinoThemeData(
      primaryColor: Colors.red,
    ),
    // for others(Android, Fuchsia)
    cursorColor: Colors.red,
    home: SplashScreen(),
  );
  ...
Run Code Online (Sandbox Code Playgroud)

解决方案 2 - 编辑过的答案 - 未测试 - 请归功于 @i4guar

我在这里找到了解决方案:

MaterialApp(
  title: "Rate your Colleagues",
  theme: ThemeData(
     textSelectionTheme: TextSelectionThemeData(
        cursorColor: darkPrimarySwatchColor,
        selectionColor: darkPrimarySwatchColor,
        selectionHandleColor: darkPrimarySwatchColor,
     ),
   ),
   home: SplashScreen(),
 );
Run Code Online (Sandbox Code Playgroud)

  • 您的第一个解决方案对我来说效果很好,但是在主题中设置“cursorColor”不起作用。 (2认同)

Oli*_*ter 13

对于问题 1,您可以在调用时设置cursorColorfortheme属性MaterialApp,如下所示

new MaterialApp(
  title: "Flutter App",
  theme: ThemeData(
    cursorColor: Colors.red,
    home: HomeScreen(),
)
Run Code Online (Sandbox Code Playgroud)

  • CursorColor 已弃用。 (2认同)

i4g*_*uar 13

cursorColor现在不推荐ThemeData使用它来代替(适用于 iOS 和 android):

MaterialApp(
  title: "Rate your Colleagues",
  theme: ThemeData(
     textSelectionTheme: TextSelectionThemeData(
        cursorColor: darkPrimarySwatchColor,
        selectionColor: darkPrimarySwatchColor,
        selectionHandleColor: darkPrimarySwatchColor,
     ),
   ),
   home: SplashScreen(),
 );
Run Code Online (Sandbox Code Playgroud)

  • 是的,这应该是问题#1 的公认答案。 (2认同)

Bri*_*hod 6

put cursorColor: Colors.white, inside TextFormField

  • 该功能已被删除。请改用“textSelectionTheme: TextSelectionThemeData(cursorColor: Colors.white)”。 (5认同)

Fel*_*les 6

Flutter 已经更新,现在cursorColor是这样使用的:

ThemeData(
  ...
  textSelectionTheme: TextSelectionThemeData(
    cursorColor: Colors.blue, //thereby
  ),
),
Run Code Online (Sandbox Code Playgroud)