“textSelectionHandleColor”已弃用,不应使用

Ali*_*Ali 0 themes deprecated dart flutter

在 flutter 中,我已经像这样定义了我的自定义主题

ThemeData(
  ...
  textSelectionColor: Colors.black,
  textSelectionHandleColor: Colors.white,
),
Run Code Online (Sandbox Code Playgroud)

今天,在dart更新到v1.23.0-4.0.pre版本后,我的代码发现了这个问题。

'textSelectionHandleColor' 已弃用,不应使用。请改用 TextSelectionThemeData.selectionHandleColor。此功能在 v1.23.0-4.0.pre 之后被弃用。 尝试用替换来替换弃用成员的使用。

但我对如何使用 TextSelectionThemeData 感到困惑。

有人知道怎么做吗?谢谢!

Bal*_*man 7

在新Flutter版本中,直接使用textSelectionHandleColor已被弃用。Flutter但添加了一种新的访问方式。

MaterialApp(
  title: 'My App',
  theme: ThemeData(
    primaryColor: Colors.red,
    textSelectionTheme: TextSelectionThemeData(
      selectionColor: Color(0xff35a19d),
      cursorColor: Color(0xff35a19d),
      selectionHandleColor: Color(0xff35a19d),
    ),
  ),
  home: MyWidget(),
);
Run Code Online (Sandbox Code Playgroud)

您可以像这样访问Theme.of(context).textSelectionTheme.selectionHandleColor


ASA*_*EED 6

您必须使用textSelectionTheme属性并将其设置为TextSelectionThemeData

import 'package:flutter/material.dart';


void main() async {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {

    return MaterialApp(
        title: 'Flutter Demo App',
        debugShowCheckedModeBanner: false,
        theme: ThemeData(
          accentColor: Color(0xffBA379B).withOpacity(.6),
          primaryColor: Color(0xffBA379B),
          textSelectionTheme: TextSelectionThemeData(
            selectionColor: Color(0xffBA379B).withOpacity(.5),
            cursorColor: Color(0xffBA379B).withOpacity(.6),
            selectionHandleColor: Color(0xffBA379B).withOpacity(1),
          ),
        ),
        home: Home(),

    );
  }

}
Run Code Online (Sandbox Code Playgroud)