首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >颤振中的SuperScript和SubScript

颤振中的SuperScript和SubScript
EN

Stack Overflow用户
提问于 2020-02-18 10:48:56
回答 1查看 1.9K关注 0票数 1

我使用这个问题的答案并插入一个上标,它的工作原理就像这样

现在,是否可以编辑上标fontFamily?我试过了,它并不是work.the唯一可以编辑的东西是颜色。

代码语言:javascript
运行
复制
Text("2500"+"TND", style: TextStyle(fontFamily: 'Avenir',color: Colors.blue)),

此代码将返回此结果:

EN

回答 1

Stack Overflow用户

发布于 2022-02-21 15:43:02

AFAIK、下标和上标是还没有得到颤振的支持,它们仍在进行中,正如这个GitHub线程中提到的那样。

对于这些特定的示例,您可以使用相关的Unicode字符。对于一般的解决方案,我们目前还没有控制文本跨度垂直对齐的方法;这是#224中的重点之一。

作为一种解决办法,您可以使用这个GitHub评论RichTextTransform.translate来尝试该示例;

您可以尝试使用RichText小部件和Transform.transalte小部件: RichText(文本: TextSpan(样式:TextStyle(颜色: Colors.red,fontSize: 16),子文本: TextSpan(文本:“一些文本”,),WidgetSpan(子: Transform.translate(偏移: const偏移量(0.0,4.0) ),子文本:文本(“下标”,样式: TextStyle(fontSize: 11) ),),WidgetSpan(子: Transform.translate(偏移: const偏移量(0.0,-7.0),子文本:文本(“supscripts”,样式: TextStyle(fontSize: 11,),TextSpan(文本:“一些文本”,),) );

答案之一这是如此的帖子中也采用了同样的解决方法;

通过测试解决方法,您现在可以更改上标/下标的字体系列:

代码语言:javascript
运行
复制
import 'dart:ui';
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        fontFamily: 'RobotoMono',
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Column(
              children: [
                RichText(
                  text: TextSpan(
                    style: TextStyle(
                      color: Colors.blue,
                      fontSize: 16,
                      fontFamily: 'Shizuru',
                    ),
                    children: [
                      TextSpan(
                        text: '-2,500',
                      ),
                      WidgetSpan(
                        child: Transform.translate(
                          offset: const Offset(0.0, -7.0),
                          child: Text(
                            'TND',
                            style: TextStyle(
                              fontSize: 11,
                              fontFamily: 'RobotoMono',
                            ),
                          ),
                        ),
                      ),
                    ],
                  ),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}

输出:

注意:我使用了ShizuruRoboto Mono字体系列来直观地比较两者的不同之处。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60279129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档