Превращение всего относительного макета в кнопку - PullRequest
3 голосов
/ 11 июня 2011

Мое приложение имеет начальную страницу, состоящую из нескольких элементов текста и изображения в относительном макете. Я хотел бы иметь возможность щелкнуть любую часть экрана и перейти к следующему действию. Можно ли использовать всю относительную раскладку в качестве кнопки? Если так, как бы вы это сделали?

Ответы [ 3 ]

2 голосов
/ 11 июня 2011

Вы можете добавить android:clickable="true" к XML для вашего RelativeLayout и использовать стандартный OnClickListener, как для кнопки.

В зависимости от того, что вы пытаетесь сделать (возможно, прикоснуться к чему угодно, чтобы закрыть экран?), вы также можете посмотреть на расширение onTouchEvent (событие MotionEvent) в вашей активности, которое бы улавливало любые касания во всей деятельности, на которые представления не реагировали.

1 голос
/ 12 июня 2011

Вы можете получить корневое представление следующим образом и добавить к нему прослушиватель щелчков:

findViewById(android.R.id.content).setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
         //make your call to startActivity();
     }       
});

Это должно потребовать меньшего количества обслуживания, чем получение определенного макета.

0 голосов
/ 12 июня 2011

Добавьте android:onClick="myFunction" в RelativeLayout файла XML и выполните следующую функцию в соответствующем файле Activity:

public void myFunction(View view)
{
   ...
}

Я думаю, вам придется добавить android:onClick="myFunction" для всехи вложенные теги XML, которые вложены в основной RelativeLayout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...