Text¶
Text¶
class TextDemo1 extends StatelessWidget {
final TextStyle _textStyle = const TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.bold, //FontWeight是个类
fontStyle: FontStyle.italic, //斜体
color: Colors.red, //Colors是个类
//decoration: TextDecoration.none,//文字的下方出现了两条黄色下划线的处理
);
final String _teacher = 'Michael';
final String _title = 'Flutter进阶';
const TextDemo1({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Text(
//Text的构造方法,下面都是Text的成员属性,只能赋值一次,在别的地方不能修改。
//title
'<$_title> -- $_teacher。圣诞快乐附近的路口;法兰克福家里快放假了;房价多少了;房价的快乐分会更加好盖好科技股和奋斗科技护肤隔开;发赶快发货感觉快疯了和姑父健康联合国将宽带发了个',
textAlign: TextAlign.center,
textDirection: TextDirection.ltr,
//文字方向 从左到右 必须得有一个方向
style: _textStyle,
maxLines: 3,
overflow: TextOverflow.ellipsis, //显示省略号
);
}
}
textScaleFactor¶
textScaleFactor
属性用于控制文本的缩放比例。
可以通过在应用的根部使用 MediaQuery
小部件来实现全局设置 textScaleFactor
。
import 'package:flutter/material.dart';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MediaQuery(
data: MediaQueryData(
textScaleFactor: 1.5, // 设置全局 textScaleFactor
),
child: Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('This is normal text.'),
Text('This is larger text.'),
],
),
),
),
),
);
}
}
通过在 MaterialApp
的根部包裹一个 MediaQuery
小部件,并设置 MediaQueryData
的 textScaleFactor
属性来实现全局的文本缩放比例。
MediaQuery
小部件:提供有关设备和应用程序窗口的各种信息,包括屏幕尺寸、文本缩放比例等。MediaQueryData
:包含了各种设备相关的信息。通过设置textScaleFactor
属性,可以控制全局的文本缩放比例。
这样做可以确保应用中的所有文本都遵循统一的缩放比例,而不需要在每个 Text
小部件中单独设置 textScaleFactor
。
RichText¶
RichText(
text: TextSpan(
children: <TextSpan>[
TextSpan(
text: '我们重视您的隐私,在您使用应用前请阅读我们的隐私政策。点击“同意”即表示您同意我们的',
style: TextStyle(color: Colors.black),
),
TextSpan(
text: '《隐私政策》',
style: TextStyle(color: Colors.blue),
recognizer: TapGestureRecognizer()
..onTap = () {
// Navigate to the privacy policy webpage
},
),
TextSpan(
text: '。',
style: TextStyle(color: Colors.black),
),
],
),
),