在flutter中,我定义了我的自定义主题,如下
ThemeData(
...
textSelectionColor: Colors.black,
textSelectionHandleColor: Colors.white,
),
今天,在dart更新到v1.23.3.4.0.pre版本后,我的代码发现了这个问题。
'textSelectionHandleColor'已弃用,不应使用。请改用TextSelectionThemeData.selectionHandleColor。此功能在v1.230-4.0之前已被弃用。。尝试用替换项替换不推荐使用的成员。
但我混淆了如何使用TextSelectionThemeData。
有人知道怎么做吗?谢谢
您必须使用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(),
);
}
}
对于直接使用textSelectionHandleColor
的新Flutter
版本,现在已弃用。但Flutter
增加了一种新的访问方式
MaterialApp(
title: 'My App',
theme: ThemeData(
primaryColor: Colors.red,
textSelectionTheme: TextSelectionThemeData(
selectionColor: Color(0xff35a19d),
cursorColor: Color(0xff35a19d),
selectionHandleColor: Color(0xff35a19d),
),
),
home: MyWidget(),
);
你可以访问Theme.of(context).textSelectionTheme.selectionHandleColor