Ich brauche die Hintergrundfarbe der Anwendung jede Sekunde von einem ARGB-Wert, so weit die meisten Versuche haben mir gesagt 'nur der ursprüngliche Thread kann es berühren' Ansichten, so fragte ich mich, ob gab es einen Weg, dies in C# zu tun?Wie man Android Hintergrundfarbe jede Sekunde ändert
Antwort
Korrekt, Sie können nur eine Ansicht vom Hauptthread aktualisieren. Es gibt viele Möglichkeiten UI planen regelmäßig Updates - Sie HandlerThread oder AsyncTask oder Timer aber wirklich der einfachste Weg für einen einfachen Job verwenden können, wie Sie wollen, ist verwenden nur einen Handler (Java):
final Handler handler = new Handler();
Runnable job = new Runnable() {
@Override
public void run() {
// Set background color
handler.postDelayed(this, 1000);
}
};
job.run();
übersetzen sollte direkt in C#.
In Xamarin möchten Sie Activity.RunOnUIThread
verwenden, um Code auf dem UI-Thread auszuführen. Sie können die Benutzeroberfläche nur über den Benutzeroberflächenthread aktualisieren. Es gibt keine Ausnahmen von dieser Regel.
RunOnUiThread (() =>
// Code to run on UI thread here
);
https://developer.xamarin.com/api/member/Android.App.Activity.RunOnUiThread/p/System.Action/
Weiterführende Literatur:
https://developer.xamarin.com/guides/android/advanced_topics/writing_responsive_applications/
- 1. android- Update TextView jede Sekunde
- 2. Android: Wie API-Daten jede Sekunde aktualisieren
- 3. SyncAdapter - Wie man jede Sekunde periodisch synchronisiert
- 4. Wie man ein Wort jede Sekunde druckt?
- 5. Wie man die Hintergrundfarbe einer Spinnerliste in Android ändert
- 6. Android WebView - Wie ändert man die Hintergrundfarbe des WebView-Dialogs?
- 7. Wie man Hintergrundfarbe in Monogame allmählich ändert
- 8. Wie ändert man die Hintergrundfarbe in HTML?
- 9. Wie ändert man amCharts Balkendiagramm Ballon Hintergrundfarbe?
- 10. Wie ändert man ListBox Auswahl Hintergrundfarbe?
- 11. xterm: Wie ändert man die Hintergrundfarbe?
- 12. Wie update Datum jede Sekunde in Javascript
- 13. Wie setze ich System.currentTimeMillis() jede Sekunde zurück?
- 14. Update Chat Jede Sekunde
- 15. Python Tkinter, Update jede Sekunde
- 16. handler.postDelayed läuft nicht jede Sekunde
- 17. Wie ändert man die Aktivität Hintergrundfarbe, während ein Fortschrittdialog auf
- 18. How to Display aktuelle Zeit, die dynamisch für jede Sekunde in Android ändert
- 19. Wie ändert man dynamisch die Header-Layout-Hintergrundfarbe der Navigationsschublade?
- 20. UICollectionView jede Sekunde neu laden
- 21. Wie erzwinge FB URL Debug jede Sekunde?
- 22. Wie aktualisieren Sie innerlich HTML jede Sekunde?
- 23. Wie ändert man div Hintergrundfarbe, wenn .play() wahr ist
- 24. Python läuft nicht jede Sekunde
- 25. Drucken Array-Element jede Sekunde
- 26. Android Java führt jede Sekunde im Hintergrund eine Funktion aus
- 27. Android schreiben Protokoll jede Sekunde in neuen Thread
- 28. IonicPopup ändert Hintergrundfarbe, wenn
- 29. Jede Sekunde HttpsUrlConnection Anfrage meiner statischen Methode schlägt auf Android
- 30. Android Kamera schlägt fehl, ein Bild jede Sekunde
Wo abouts würde ich diesen Code ausführen? – Dan2899
[@ Dan2899] (http://stackoverflow.com/users/5669940/dan2899), können Sie Ihren Code vor/nach 'handler.postDelayed (diese, 1000);' –
@ Dan2899 Sie verwenden diesen Code, wenn Sie wollen um die Hintergrundfarbe zu ändern, zum Beispiel in onCreate –