[代码] [Java]代码 private void getVidGetById(){
//滑动的监听工作
btnClick.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
int ea=event.getAc http://www.fpfuzhou.com/linked/20130324.do tion();
switch(ea){
case MotionEvent.ACTION_DOWN:
//实行此操作 初始化 X,Y
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
//getRawX()和getRawY()获得的是相对屏幕的方位
int pawX = (int)event.getRawX();
int pawY = (int)event.getRawY();
if(pawX != lastX || pawY != lastY){
int dx = pawX - lastX;
int dy = pawY - lastY;
//得到结束的 上下 左右的坐标
int left = v.getLeft() dx;
int top = v.getTop() dy;
int right = v.getRight() dx;
int bottom = v.getBottom() dy;
//不能超过左边
if(left < INIT_NUM){
left = INIT_NUM;
right = left v.getWidth();
}
//不能超过右边
if(right > screenWidth){
right = screenWidth;
left = right - v.getWidth();
}
//束缚 最上的方位
if(top < INIT_NUM){
top = INIT_NUM;
bottom = top v.getHeight();
}
//束缚最下的方位
if(bottom > screenHeight){
bottom = screenHeight;
top = bottom - v.getHeight();
}
//写入控件的方位
v.layout(left, top, right, bottom);
//从头获取控件的方位
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
falg = true;
}else{
falg = false;
}
}
return falg;
}});
//点击的工作
btnClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "你点着我了",Toast.LENGTH_SHORT).show();
}
});
} http://www.fpnanchang.com/linked/20130324.do