android:layout_height=“wrap_content”
android:id=“@+id/button”/>
</com.example.yanbo.myapplication.TestLinearLayout>
整个界面Activity,重写了Activity的一些关于触摸派发的方法(三个):
public class MainActivity extends Activity implements View.OnClickListener, View.OnTouchListener {
private TestButton mButton;
private TestLinearLayout mLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (TestButton) this.findViewById(R.id.button);
mLayout = (TestLinearLayout) this.findViewById(R.id.layout);
mButton.setOnClickListener(this);
mLayout.setOnClickListener(this);
mButton.setOnTouchListener(this);
mLayout.setOnTouchListener(this);
}
@Override
public void onClick(View v) {
Log.i(null, “onClick----v=” + v);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i(null, “onTouch–action=”+event.getAction()+“–v=”+v);
return false;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
Log.i(null, “MainActivity–dispatchTouchEvent–action=” + ev.getAction());
return super.dispatchTouchEvent(ev);
}
@Override
public void onUserInteraction() {
Log.i(null, “MainActivity–onUserInteraction”);
super.onUserInteraction();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.i(null, “MainActivity–onTouchEvent–action=”+event.getAction());
return super.onTouchEvent(event);
}
}
如上就是实例测试代码,非常简单,没必要分析,直接看结果吧。