- Forum-Beiträge: 5
18.07.2014, 14:41:12 via Website
18.07.2014 14:41:12 via Website
Hallo Liebe Community,
ich bin relativ neu im Forum und auch in der Android Entwicklung.
Ich versuche grade ein kleines Spiel nachzubauen. Gewinn ist sehr sehr sehr sehr unrealistisch. Aber es ist für mich.
Jedenfalls habe ich ein Linear Layout (Horizontal) und habe da mal paar Buttons reingezogen. Diese werden durch einen Thread hin / Her geschoben (So siehts zumindest aus, weil immer ein Button Rot / Grün ist und alle anderen Schwarz). Das hat eine Art Ping Pong effekt.
Der Code für den Thread sieht so aus:
public class SetColorThread extends Thread {
public static Activity _activity;public static LinearLayout _layout; public static int _childCount = 0; public static int _currentItem = 0; public static boolean _positive = true; @Override public void run() { _childCount = _layout.getChildCount(); while(true) { // Erstmal Default Hintergrundfarbe bei allen setzen for (int i = 0; i < _childCount; i++) { final Button btn = (Button) _layout.getChildAt(i); _activity.runOnUiThread(new Runnable() { @Override public void run() { btn.setBackgroundColor(Color.BLACK); } }); } // Nun die gewünschte Farbe des Objektes Setzen final Button btn = (Button)_layout.getChildAt(_currentItem); _activity.runOnUiThread(new Runnable() { @Override public void run() { btn.setBackgroundColor(Color.RED); } }); _currentItem += _positive ? 1 : -1; if(_currentItem == (_childCount - 1)) _positive = false; else if(_currentItem == 0) _positive = true; try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } } } }
Durch ein Button klick wird der Thread aufgerufen. Funktionieren tut es.
Erste Frage: Ist das so sauber gelöst? Weil es gibt ja auch Alternativen Außer einen Thread (TimerAsync). Allgemein Meinungen zum Lösungsansatz. Ich bin stark Kritikoffen
Nächste Frage: Gibts alternativen zu Buttons für die Kacheln? Und wie mache ist es am besten dass die BUttons immer so Breit sind wie der Bildschirm? Weil auf dem S4 passts. Auf nem Huwai Tablet ist es im Vergelcih zum Rest Mini.
Außerdem sind es nicht nur Kacheln in der Breite. 6 in der Breite, und je nach dem was reinpasst (ca 7) Zeilen in der Höhe.
Dieser Ping Pong effekt ist nur Zeilenbezogen.
Oder soll ich lieber alles selber Zeichnen und die Finger weg von den Controls lassen?
Gruß errox
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.