Ich habe ein Problem mit Xamarin.Forms (Version 1.2.2) auf Android (Nexus 5). Die Ausrichtung von Button.Text
ist oft nicht zentriert, nachdem ein Klick ausgeführt wurde.Xamarin.Forms: falsche Schaltfläche Textausrichtung nach dem Klick (Android)
In einem kurzen Projekt habe ich herausgefunden, dass die Aktualisierung der Benutzeroberfläche das Problem verursacht.
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,
}
}
};
}
}
Ein Klick auf „buttonBad“ (Aktualisierung der label.Text
) bewirkt, dass der Text-Ausrichtung dieser Taste nicht mehr zentriert werden. Ein Klick auf "buttonGood" verursacht das Problem nicht.
Gibt es eine gute Problemumgehung, um dieses Problem zu lösen?
Diese Problemumgehung scheint zu kompliziert zu sein: http://forums.xamarin.com/discussion/20608/fix-for-button-layout-bug-on-android
edit: A programmatisch bearbeiten der UI Fällen auch der Bug. Das Ändern der label.Text
in einer asynchronen Methode nach einer kurzen Wartezeit führt dazu, dass der "buttonGood" seinen Text nach einem Klick falsch anordnet.
edit2: Ich habe ein Beispiel/Testprojekt auf GitHub: https://github.com/perpetual-mobile/ButtonTextAlignmentBug.git Die Ausrichtung ist korrekt, wenn der StackLayout durch einen AbsolutLayout ersetzt wird, aber ich brauche die StackLayout gut zu funktionieren.
Beachten Sie, dass nur auf dem „guten Button“ klicken, ohne Neuausrichtung bis zum „schlechten funktioniert Taste "wurde das erste Mal angeklickt. – Falko
Noch vorhanden in 1.2.3-prerelease 4. –
Gleiches Problem hier. Hoffentlich wird es bald behoben. –