我基本上具有图像的文本表示形式。我正在尝试适合字体大小和字体高度以匹配父容器的大小。到目前为止,我得到的是:
body: Container(
margin: EdgeInsets.symmetric(vertical: 40.0, horizontal: 20.0),
width: double.infinity,
color: Colors.black12,
child: FittedBox(
child: Text(
newImage,
style: TextStyle(
fontFamily: 'RobotoMono',
height: 0.7
),
),
),
),
请注意,我使用的是等宽字体(以便所有字符都具有相同的宽度),并且第80个字符处都有换行符。
问题是我需要匹配height
参数,以便文本完全填充父容器(不同的屏幕将具有不同的高度值)。高度越大,字体大小越小(由于FittedBox)=> height
值间接影响文本的宽度。
我不介意动态计算height
(如果没有适当的解决方案...),但不确定如何执行此操作...
这是我想显示的原始字符串:
################################################################################
##########################################**####################################
######################################*+ ---*+*#**###########################
################################****+- -*- -- ---+***########################
###############################++- + -----+-+*+*#######################
###########################**+--- ++------- -- +- - +---#####################
#######################+--- +--+- -+ - -####################
######################+*-- ++-+ +-+--- --- +- -- ###################
###################**++-- -+-- - - --- ##################
###################* --- -+-----+*-+ *- *--- - +###*############
##################+-- --++---- -+ - -- +++-**###########
################*- - -- ---+- -++- - + +*#***##########
#############*++- - +---- -+--**+- -* - + -- - -+**+*##########
##########*-+---+ -- --++ - - - +-+**#*#######
############*-- -+--+* - +- -+++- - * + - - -+-*#######
############*+ -- - -+**-- -++ - ++ + --+-+######
#############- -**-+ - -- - - - +- + + *+#####
############- - - +-* ----- -- - --- *#####
##########*#+----- --*-+- ---- +--- + + - + ++-+ *####
###########*--- - + ++--- + ---++ - +---**+####
##########*+++- - --+- +- -- - + -+-####
##########-*- - - -+ - - --- +- - + --- +#+###
########*+-- --- - --- *-+-+ -- + - - - ---+ ##*##
#######+* ---- - -- - -* +- - -- ---- - --+ -####
######+* - -- --- *+- -+ ---- - + +-- ++- - ###
#####++ - - - - ---+-- - --+++---- +- + -+-++ + ##
######+ - -- - -- -- - - +--+++++-- - - ---++-- *#
#####- - - -- - ++----- +-- -++++++*+++- - -- ++-- #
#### - - -- --- -- ---++-++-- --+++-+++*++****+++-- - - - +#
###*- -- --++***+++****-*+++++++++++**********+-- - -#
###+ ++-+-++**********+**++******+*+***********++--- - - ++
##+ -++-++************+++**********************+--+ -- ++-
## +- ++*+++*****##*##******#************#********++++ -- +-- +++
##+# + - --+++*******#########*#######*******##*******++++++--+- -+ -+
###- - -+++*********###*#########*##*#***#*#*************+-+-- --
##* ++++*********##################*####*###***********+++ --+*- -
## - ++++**********##*######################***********++++- -- -
## - --++***********######################*#************+++++--- + +- +
#+# - - ++++*********#*####################*####***********+-++- -- +*
###+ -----++********#*#*########################**#*********++++---- - -
###- - -++++**********########################**##********+++++ -+-
###- - -++++**********#####*##################************+++++- -
##*-- - - -+++********#***########################**********++-+-+--- -
###*+ - -+ --+++********#*#########################*##*********++++-+ - -
##+# -- -+++*********#############*##############***********++-+- -- -
#### - -+++*******####*###########*#############**#*******+++-+ - -
#*## -- -+++***********#######*########*#######*##*********++-++- -
#### --- -+++********#########################**************++++-- +
###*- - - -+++*********###########################**********++---+ -
###*-+ --- -+++***********#*#####################**#**********+----- -
####-*- -+++**************################*##***#***********++--- *
####+# - --++**************#*#########*######****************+++- -#
#####- - --+*************#***###*#####*#*##******************+---- #
##### - +++**********************####*##***********#*********--+- - +
#####- -- +-+********##*#***********#*************************+--+-- -
####*+ ++++***********************************************++----- #
#####* +++-+++++++++********+******************+-++*++++++------+ #
#####*-- --+- --+++-+ --+-++++-++++*********+*-++----+-+*++--- -+-- #
######-- +++- -+--- ---****+---- --++-- +-- - #
######-- ++- --- +*****- ----- ---- - #
######-- ++++-- + - -- -++***+ -+ - - -------+- -#
######- -+-- +*-++*-#*- - ++-++++ -*#-*++ *- ------ - --#
######+-- ---- +*##-+-*##*-- -- +**#***- + +*###-+-**++ - ---- - -+#
#######- -+-++ -*#*#*####*++*+++**###**+-***++*#####*#*+- ------ ----+#
#######-- -+++++++-++*#**+*++++**++**###**+++**+++*******++-----+----- ----*#
#######+- -+++++++-++*****+**********##***+******++****+++--+*+++++-- -+-+##
########-- -+***+**+---+++++***********##**+********+----- -+*++**+-- -+-+##
########-+ -+++*****++-+-+*************#***************++++*++****++-- -+-+##
########++- ++************************###**************+++++*+****++- -+-###
########*+- ++*******+*****************##**+**********************+-- ++-###
########*-+- ++**********+***********+**##*************************+-- -+--###
#########--- +++*********************+*###**+*********************++- -+--*###
#########+----+++**********************###**+*********************+-- ++-+####
#########-++- *-+***********************##**++*******#************+-- -++++####
#########++++ +-++***************+++***###***++++**************+++-- ++++*####
#########*+++----++**************+++***###***-++**************++++-- -++++#####
##########+++++--+++*************+++***##*#**++++*************++-- - -+++-#####
##########--+------++************+*+***###******+***********++++- - -+++*#####
###########*##-----+++***********+*****####**+**+**********++++--- -+-+-######
##############------++*****************###***++++**********+++--- --##########
##############-------++**********+++***###**+++++********+++---- -- *##########
##############-----+-+++*********--++******++--++**********++------ ###########
##############------++++********* --+****+- +********++++-- --- ###########
##############+-----++++*********- --+-- +********+++++------ ###########
##############*-- -+++++********+ +********+*+++- --- -###########
###############+----++++**********-- +*********++++------ -###########
###############-- - +++++********+- -*********++++- --+-- *###########
############### --+ -+++++********+ - - ---++***+****++++- +-- ############
###############* -- --++*********----- - +- ---+*******++++- -- -############
################ -- -++++***+*+*+*-+--++- -++----+-***+**++++- -- *############
################+ - --+**+***--*-+ ++-- +-+-+-+-+-+*+-++*++-- -- #############
#################-----+++*+++--*----+*--++-++-+- *++++-+-*+-- -- +#############
#################*---+++++ +--+-*-+---+- -+*++++++++----*+++ - ##############
##################- -+++ --++ -++-+-*+-- **++--* ++-- -+--- -- ##############
##################- - ++++---- +++*-+++++**+**+++--- --++- ##############
#################* ----+-- - - ---*-***+*+- - - +-+ ##############
################*- -+++--- -+ - - -++----- -#############
###############* + --*-++----****+****+--+*******++++- -+- -*############
##############* - - -+++*++******##*#*###**#***++*++--+- - - ############
#############* --- - ----++*********************+*+++ -+- - ###########
############# -+- ---+*+++++**+*+++++**+**+**+++-+-- -- ##########
############ ++- -++++-++++++-+- ---++++-++++----- -- #########
########### ++- - ---++ ---+ + -------- ---- -- ########
#########* +++ - +----- + - - ---- - -- #######
#######- +++ - -- - -- - - - --- +- ######
####* +++- -- -- -++-----+-- - --- -+- #####
##- -+++ *-++ +--+--+++*++++***+++- + +- ++- ####
-+++ --+-- --+++*+**+*+*+****+-- -+-- ++- *#
--++- +-+++**+********#****+-+ - -++-
-+++ - -+*+-*#*+****++****+++------ +++
-+*+ -+++*++++*+*++**++-+---- -++-
-+** -++++-----++++-**++-++++-- +++-
-+++- --*++--+++-+-+--------+-- -+++-
++*- --++- +----+--+-- --+ +++--
-+*-- - - - --+--+--- - -+*+--
+*++ - --- - - - +++--
+**++ -+**--
+**+* ++**+-
+**++- ++***+-
+****- -+****-
要回答我自己的问题,无需手动计算文本高度。相反,只需使用:
FittedBox(
fit: BoxFit.fill,
child: Text(
text,
style: TextStyle(
fontFamily: 'RobotoMono',
color: Colors.white,
),
),
);