android - setOnClickListener;
Ich war Herumspielen mit der Schlange Beispiel-code und ich bin versucht, mod, dies zum Wohle der Ausbildung, und hoffentlich ein besseres Verständnis von, wie Android funktioniert.
Bisher habe ich zwei Schaltflächen Hinzugefügt + die entsprechende setOnClickListener-code wie unten beschrieben.
snake_layout.xml:
<Button
android:layout_height="39px"
android:layout_width="55px"
android:layout_marginLeft="15px"
android:text="Left"
android:id="@+id/left_button" />
<Button
android:layout_height="39px"
android:layout_width="55px"
android:layout_marginLeft="240px"
android:text="Right"
android:id="@+id/right_button" />
und Snake.java:
.
.
.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//No Title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.snake_layout);
final Button leftButton = (Button) findViewById(R.id.left_button);
leftButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
//perform action
}
});
final Button rightButton = (Button) findViewById(R.id.right_button);
rightButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
//perform action
}
});
.
.
.
Beide Tasten auftauchen, wo Sie sollen und funktionieren, wenn ich versuchen, eine einfache Methode, wie "finish()".
Nun, was ich tun möchte ist, haben diese Tasten aktivieren die Codes unten
in SnakeView.java:
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
if (mDirection != EAST) {
mNextDirection = WEST;
}
return (true);
}
if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
if (mDirection != WEST) {
mNextDirection = EAST;
}
return (true);
}
Klar zu sein, brauche ich, um meine angepasste on-screen-Tasten, die die gleiche Arbeit als "KEYCODE_DPAD_RIGHT" und "KEYCODE_DPAD_LEFT" in der aktuellen code.
Mein Xperia X10i nicht kommen, mit einem DPAD, das ist ein Teil davon ;-P
Ich würde wirklich zu schätzen einige Hinweise in die richtige Richtung. Wie Sie vielleicht schon erraten haben, ich bin ziemlich neu hier..
Vielen Dank im Voraus Jungs
InformationsquelleAutor Folkhemskossa2000 | 2011-05-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Prüfen Sie hier:
Werfen/Simulation von Tastatureingaben über ein Programm
Die grundlegende Logik verbirgt sich hinter:
InformationsquelleAutor Kamen
Statt
//perform action
in IhremonClick
Methoden, kopieren Sie die entsprechenden Körper aus den vorhandenen code (z.B.if (mDirection != EAST) mNextDirection = WEST;
).Nebenbei, es gilt als schlechte Praxis, um anzugeben, Knopf, Maße in Pixel. Dies funktioniert nicht gut für code, der ausgeführt werden soll auf Geräte, die möglicherweise sehr unterschiedliche pixel-dichten und Bildschirm-Auflösungen. Es ist viel besser, lassen Sie die Tasten Größe selbst basiert auf dem, was Sie enthalten.
InformationsquelleAutor Ted Hopp
Müssen Sie erstellen eine Funktion in SnakeView.java das können Sie ändern Sie die mNextDirection.
Nach, die Sie verwenden können:
InformationsquelleAutor Nallath