flutter - 使用 Flutter 中的“setByPostion”组件将递增的数字居中
问题描述
我正在开发一个新游戏,遇到了一个问题,当我的分数增加到超过 10 或另一个小数时,它不会正确居中,因为只有第一个小数在屏幕的中心。
import 'package:flame/components/text_component.dart';
import 'package:flame/game.dart';
import 'package:flame/position.dart';
import 'package:flame/text_config.dart';
import 'package:flutter/material.dart';
class Test extends BaseGame{
TextComponent _scoreText;
int score;
TextComponent _text;
Test() {
// SCORE TEXT
score = 0;
_scoreText = TextComponent(score.toString(),
config: TextConfig(
color: Colors.white, fontFamily: 'Audiowide', fontSize: 70));
add(_scoreText);
}
void resize(Size size) {
super.resize(size);
_scoreText.setByPosition(Position(
(size.width / 2) - (_scoreText.width / 2), (size.height / 10)));
}
}
解决方案
我通过使用锚小部件解决了这个问题,使其原点位于文本框的中心,而不是左上角。
void resize(Size size) {
super.resize(size);
_scoreText.setByPosition(Position(
_scoreText.anchor = Anchor.center;
(size.width / 2), (size.height / 10)));
}
推荐阅读
- reactjs - React hooks Apollo Graphql Boolean value always returning false
- gcc - When I make the configure of ctags-5.8 has the undeclared identifie Erro
- c - 处理大文件时多线程程序崩溃
- select - 输入对话框“选择”不起作用 - Sikuli IDE 2.0.3
- c# - How to either uncomment or add a line to an XML/ config file?
- html - 为什么 ngb-bootstrap Collapse control 的切换折叠按钮会折叠整个动态生成的卡片集?
- scala - Type mismatch creating Scala Array/Seq of Generic type
- php - laravel BelongsToMany 分页
- sql - 如何将多行汇总成单行和单列
- c# - 'SQLite Error 1: 'near "(": syntax error'.' with cross apply in query?