【发布时间】:2014-11-21 06:50:55
【问题描述】:
我对 Android (Nexus 5) 上的 Xamarin.Forms(版本 1.2.2)有疑问。
Button.Text 的对齐方式在执行点击后通常不会居中。
在一个简短的项目中,我发现更新 UI 会导致问题。
public class App
{
public static Page GetMainPage()
{
var label = new Label {
Text = "label",
};
var buttonBad = new Button {
Text = "buttonBad",
Command = new Command(() => label.Text += "1"),
};
var buttonGood = new Button {
Text = "buttonGood",
};
return new ContentPage {
Content = new StackLayout {
Children = {
buttonBad,
buttonGood,
label,
}
}
};
}
}
单击“buttonBad”(更新label.Text)会导致此按钮的文本对齐不再居中。点击“buttonGood”不会导致问题。
有没有解决这个问题的好办法?
这个解决方法似乎太复杂了: http://forums.xamarin.com/discussion/20608/fix-for-button-layout-bug-on-android
编辑:
以编程方式编辑 UI 也会出现该错误。在短暂等待后以异步方法更改 label.Text 会导致“buttonGood”在单击后将其文本错误地对齐。
edit2: 我在 GitHub 上创建了一个示例/测试项目: https://github.com/perpetual-mobile/ButtonTextAlignmentBug.git 当 StackLayout 被 AbsolutLayout 替换时,对齐是正确的,但我需要 StackLayout 才能正常工作。
【问题讨论】:
-
请注意,在第一次点击“坏按钮”之前,点击“好按钮”只能在不重新对齐的情况下工作。
-
即使在 1.2.3-prerelease 4 中仍然存在。
-
这里有同样的问题。希望尽快修复。
-
仍然存在于 1.2.3 版本中:\ 这简直是疯了
标签: android layout alignment xamarin.forms