Android OnTouchListener实时监听触点坐标,需要同时监听OnClickListener才有效

21 篇文章 0 订阅
public class TouchTestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        final TextView tv=new TextView(this);
        tv.setTextColor(Color.BLACK);
        tv.setTextSize(15);
        
        LinearLayout view=new LinearLayout(this);
        view.setBackgroundColor(Color.WHITE);
        view.setOnTouchListener(new OnTouchListener(){

			@Override
			public boolean onTouch(View arg0, MotionEvent arg1) {
				// TODO Auto-generated method stub
				tv.setText("rawx="+String.valueOf(arg1.getRawX())+"rawy="+String.valueOf(arg1.getRawY())+"\n");
				tv.append("x="+String.valueOf(arg1.getX())+"y="+String.valueOf(arg1.getY())+"\n");
				//tv.append("0x="+String.valueOf(arg1.getX(0)+"0y="+String.valueOf(arg1.getY(0))+"\n");
				
				int action =arg1.getAction();
				if(action==MotionEvent.ACTION_MOVE){
					System.out.println("yidong");
				}
				if(action==MotionEvent.ACTION_DOWN){
					System.out.println("down");
				}
				if(action==MotionEvent.ACTION_UP){
					System.out.println("up");
				}
				if(action==MotionEvent.ACTION_CANCEL){
					System.out.println("cancel");
				}
				
				return false;
			}
        	
        });
        /*
         * 如果没有onClickListener,那么触笔在移动时,上面的只有down事件,其他都不会触发
         * 而如果添加了,则move和up事件都会相应
         * 
         */
        view.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				
			}
        	
        });
        
        view.addView(tv);
        setContentView(view);
    }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值