小编sac*_*hin的帖子

拖动按钮是否会离开屏幕?

我有一个按钮,我可以将它拖动到屏幕上的任何位置,但它在拖动时会移出屏幕,所以如何只在屏幕内拖动,这样它就不会出现在屏幕外

Button.setOnTouchListener(new TextView.OnTouchListener() {
        public boolean onTouch(View view, MotionEvent event) {              

            X_button = (int) event.getRawX();
            Y_button= (int) event.getRawY();


            switch (event.getAction() & MotionEvent.ACTION_MASK) {
            case MotionEvent.ACTION_DOWN:

                RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view.getLayoutParams();
                _xDelta = X_button - lParams.leftMargin;
                _yDelta = Y_button - lParams.topMargin;
                break;
            case MotionEvent.ACTION_UP:                 
                 if(!isMoving)
                 {
                    view.performClick();                        
                 }  

                 isMoving=false;
                break;
            case MotionEvent.ACTION_POINTER_DOWN:
                break;
            case MotionEvent.ACTION_POINTER_UP:
                break;
            case MotionEvent.ACTION_MOVE:                   
                isMoving=true;                  
                RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view
                        .getLayoutParams();
                layoutParams.leftMargin = X_button - _xDelta;
                layoutParams.topMargin = Y_button - _yDelta;
                layoutParams.rightMargin = -250;
                layoutParams.bottomMargin = -250; …
Run Code Online (Sandbox Code Playgroud)

android ontouchlistener

0
推荐指数
1
解决办法
3093
查看次数

标签 统计

android ×1

ontouchlistener ×1