Android Как зарегистрировать OnTouchEvent для просмотра всего основного содержимого Activity?
Я реализовал onTouchEvent(TouchEvent) в своей деятельности. Тем не менее, я хотел бы знать, какие шаги необходимы для регистрации этого события в основном представлении "Содержание". Я хочу установить onTouchEvent для представления, которое охватывает все пространство экрана действия. есть setContentView(), который принимает идентификатор макета. Как зарегистрировать активность в качестве прослушивателя ontouchEvent для основного представления содержимого. Я рассматриваю findByView (activityLayoutId), чтобы получить это представление, но это не совсем похоже на правильный или лучший способ. Спасибо
3 ответа
Если вы ищете способ получить представление контента в виде после Activity#setContentView(int)
затем вы можете установить идентификатор для самого внешнего элемента вашего макета:
android:id="@+id/entire_view"
и ссылаться на это в вашем onCreate
метод после setContentView
:
View view = getViewById(R.id.entire_view);
view.setOnTouchListener( ...
Как это (в onCreate
):
setContentView(R.layout.activity_main);
View view = findViewById(R.id.main);
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view,MotionEvent event) {
return true;
}
});
Мероприятия onCreate()
метод:
onCreate(){
setContentView(R.id.yourMainLayout);
View contentView = (View)findViewById(R.id.yourMainLayout);
contentView.setOnTouchListener((View.OnTouchListener)this);
}
Если кто-то не знает лучшего способа.