繁体   English   中英

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

[英]How to change cursor color in flutter

亲爱的,如果你不介意的话,我有两个问题在颤抖。

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

2- 无论屏幕大小如何,如何在屏幕底部制作文本。 ??

先感谢您。

在此处输入图片说明

cursorColor: Colors.white,放在 TextFormField 里面

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

TextField(cursorColor: Colors.white)

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

解决方案 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(),
  );
  ...

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

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

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

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

new MaterialApp(
  title: "Flutter App",
  theme: ThemeData(
    cursorColor: Colors.red,
    home: HomeScreen(),
)

cursorColor现在已不为ThemeData用这个来代替(在iOS和Android版):

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

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

ThemeData(
  ...
  textSelectionTheme: TextSelectionThemeData(
    cursorColor: Colors.blue, //thereby
  ),
),

我必须将useTextSelectionTheme设置为true并为我的自定义深色主题设置 textSelectionTheme :

ThemeData _defaultDarkTheme = ThemeData.dark();

ThemeData _darkTheme = initializeDefaultLineHeight(ThemeData(
    brightness: Brightness.dark,
    // How to set cursor color for TextFormField
    useTextSelectionTheme: true,
    textSelectionTheme: _defaultDarkTheme.textSelectionTheme.copyWith(
        cursorColor: Colors.grey[600]),

您可以使用:

TextField( cursorColor: Colors.red),

对齐Flutter布局小部件:
颤振对准 阅读更多: https : //flutter.dev/docs/development/ui/layout#aligning-widgets
这是一个示例示例:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
  title: 'Flutter Demo',
  theme: ThemeData(
    //Question 1
    cursorColor: Colors.green,
  ),
  home: Scaffold(


      body: Column(
    // Qurestion 2
    mainAxisAlignment: MainAxisAlignment.end,

    children: <Widget>[
      Center(
        child: Container(
          child: Text("Hello World ! "),
           ),
         ),
       ],
     )),
    );
   }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM