您的位置:首页 > 移动开发 > Android开发

android 拖动相似Iphone AssistiveTouch的快捷键按钮 - 代码共享

2013-03-25 02:40 344 查看
[代码] [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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: