0
我正在開發我的第一場比賽。機制很簡單:在屏幕上隨機移動泡泡。我的畫布是Activity上的RelativeLayout。佈局很簡單。Force的RelativeLayout焦點onTouchEvent
<RelativeLayout
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/header" />
的觸摸事件是通過從View.OnTouchListener
實施onTouch
方法定義。一類提取如下:
public class BubbleActivity extends AppCompatActivity implements View.OnTouchListener {
private RelativeLayout mFrame;
@Override
public boolean onTouch(View v, MotionEvent event) {
//...
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//...
setContentView(R.layout.activity_bubble);
mFrame = (RelativeLayout) findViewById(R.id.frame);
//...
}
@Override
protected void onResume() {
super.onResume();
mFrame.setOnTouchListener(this);
}
}
問題是,有時觸摸事件不會發生。我想知道是否有某種機制總是抓住焦點,確保我的RelativeLayout對象中的觸摸事件。如果你想通過你捕獲所有TouchEvent
小號RelativeLayout
然後實現自定義視圖擴展RelativeLayout
和onInterceptTouchEvent()
處理事件
歡迎任何幫助