Activity
您可以像这样创建一个,而不是在 every 上实现Activity
这个:
public class BaseActivity extends Activity
并onInterceptTouchEvent
在您的BaseActivity
.
然后从所有其他Activities
你将不得不扩展BaseActivity
更新:onTouch
如果你想在整个屏幕上监听事件,
你将不得不使用。这要求在您的每个 xml 文件中Activity
,您必须为您的 xml( 、、或其他)id
的根视图提供一个。因此,为了让您从其他人那里获取输入,您必须将您的根视图传递给它,如下所示:Linearlayout
Relativelayout
Framelayout
BaseActivity
Activities
public class MyActivity extends BaseActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
super.setRootView(findViewById(R.id.rootView));
}
}
public class BaseActivity extends Activity implements OnTouchListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public void setRootView(View rootView){
rootView.setOnTouchListener(this);
}
public boolean onTouch(View v, MotionEvent event) {
Log.d("BaseActivity", "onTouch!");
return super.onTouchEvent(event);
}
}