2016-11-06 40 views
0

我正在做一個活動,其中會有一個View在一箇中心。 這是它將如何工作。當我在屏幕上隨意拖動手指時,只有當我的手指處於這個視圖的範圍內時,這個視圖纔會動作。通過視圖拖動手指並使其工作

我的代碼(不正確只是想知道我的想法是正確的):

firstlayout.setOnTouchListener(new View.OnTouchListener() { 


      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       float x = event.getX(); 
       float y = event.getY(); 
       if ((firstlayout.getLeft() <= x <= firstlayout.getRight()) && 
         (firstlayout.getTop() <= y <= firstlayout.getBottom()) 
         ) 
       { 
        Log.i("A", "Motion Event is currently above firstlayout"); 
        firstlayout.dispatchTouchEvent(event); 
       } 

       return true; 
       } 
       return false; 
      } 
     }); 

有一個錯誤:操作員< =不能適用於「布爾」,「廉政」 請寫一些如果你能 任何幫助的代碼示例可以理解

回答

0

這不是有效的Java:

firstlayout.getLeft() <= x <= firstlayout.getRight() 

我nstead,你必須做

(firstlayout.getLeft() <= x) && (x <= firstlayout.getRight()) 

此外,您的視圖只能當觸摸視圖的範圍內出現接收觸摸事件。您無需手動檢查邊界。