xamarin - 条目文本不对齐(- 和数字)
问题描述
我正在尝试构建电子邮件代码验证器。我向客户发送 6 位数字,以便在输入时输入他的代码。但是 - 并且数字具有不同的宽度,这导致当用户输入数字然后我替换 - 到数字但它移动不同的对齐方式。我需要将它们设置为同一行。我该怎么做?
第一个空框,第二个数字和空格,第三个是应该怎么看。
解决方案
这是使用 Xamarin.Forms网格布局的完美示例
如果您查看“使用”部分,您将看到如果您决定采用比例大小会发生什么:
Proportional( ) – 将列和行的大小设置为剩余空间的比例。在 C# 中指定为值和 GridUnitType.Star,在 XAML 中指定为 #,其中 # 是您想要的值。用 * 指定一行/列将导致它填满可用空间。
这意味着如果你想要 6 个相等的列,你可以这样做:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
</Grid>
这样,每一列都将等于其余列,并且正好是网格占据的大小的 1/6。
您可以简单地将控件放置在网格内,相应地对齐它们,您就可以开始了。
PS如果你有一些特殊符号,或者数字和字母的混合,它们可能仍然没有完全对齐,你必须使用固定间距的字体
推荐阅读
- python - 通过升序或降序订购 python Seaborn barplot
- c++ - 为什么这个函数会循环?
- c# - 如何在 Unity ECS 中获取 ComponentDataFromEntity 到并行作业?
- c# - 在将预制件拖回层次结构时创建预制件后,两个对象上缺少 3 个脚本,我该如何解决?
- java - 如何执行 Junit 测试?
- mongodb - 如何在 MongoDb 中使用 $arrayElemAt
- android - apk mod如何欺骗PackageManager?
- reactjs - React 中未定义的 setState
- c# - C#登录XML循环错误密码
- node.js - 无法通过带有令牌的标头来重定向NodeJS