Я возился с примером кода Snake , и я пытаюсь модифицировать его ради обучения, и надеюсь, я стал лучше понимать, как работает Android.
Пока что ядобавили две кнопки + соответствующий код setOnClickListener, как показано ниже.
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" />
и 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
}
});
.
.
.
Обе кнопки показывают, где они должны и работают, когда я пытаюсь использовать простой метод, такой как « finish () ».
Теперь, что яхотелось бы, чтобы эти кнопки вызывали приведенный ниже код, в 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);
}
Чтобы было ясно, мне нужно, чтобы мои пользовательские экранные кнопки выполнялита же работа, что и "KEYCODE_DPAD_RIGHT" и "KEYCODE_DPAD_LEFT" в текущем коде.Мой Xperia X10i не поставляется с DPAD, это его часть; -P
Я был бы очень признателен за некоторые указатели в правильном направлении.Как вы уже догадались, я довольно новичок в этом ..
Заранее спасибо, ребята