我正在使用Xamarin.Forms并在(非常慢)Android模拟器中测试它。
当我开始登录过程时,我会显示一个ActivityIndicator,然后将按钮设置为IsEnabled =" false"
这是正确的,我不能再按下按钮了,但文字失去了它的中心位置。它向左移动。
e.g。
这是加载按钮(一切正确)
接下来是IsEnabled设置为False的时候。 (请注意它看起来比较暗,因为我有一个StackLayout来遮挡屏幕,但它对文本对齐没有任何影响。)但你可以看到它的对齐丢失。
现在,IsEnabled被设置回true。
这是XAML。
<Button Text="Login" BackgroundColor="#FFCF3838" HorizontalOptions="Fill" Grid.Column="1"
Grid.Row="0" BorderWidth="1" BorderColor="White"
IsEnabled="{Binding Path=LoginViewModel.IsLoginEnabled}" Command="{Binding LoginCommand}"/>
仅供参考 - 使用MVVMLight,但我认为这没有任何区别。
答案 0 :(得分:1)
这是 Android 上按钮的对齐问题,该问题位于 v1.2.2x <强> Xamarin.Forms 即可。可以找到一个如何触发此错误的小例子here。
我刚刚在 Xamarin.Forms v1.2.3.6257 上对此进行了重新测试,问题仍然存在。
Xamarin 虽然知道这个问题,但目前即使已经提出了一些解决办法,但这些都没有完全奏效。
版本1.3 即将推出。至于这个版本是否会被修复是另一个问题。
版本1.3 。可以看到技术预览here,并为希望尝试此操作的任何人提供说明。
如果你这样做,请在另一台机器上试试,因为他们的 v.1.2.3预发行版v4 导致了我的几个错误,其中的回滚并不像它应该的那么容易过。
如果有人有 v1.3预览,如果他们可以从here运行示例,那将会很有趣,并让我们知道当前的结果< strong> v1.3 ?
唯一的解决方法是将按钮替换为自定义渲染器,以便在其中使用不同的按钮控件它的位置。