2014-02-26 5 views
0

나는 스 와이프 영역을 안드로이드 탭에서 계산 중입니다. 요구 사항은 사용자가 탭의 화면 상단 10 %에서 스 와이프하면 팝업이 나타납니다.touchevent의 스 와이프 영역 계산

어떻게 onFling()의 touch 이벤트를 사용하여 얻을 수 있습니까?

오른쪽 지금은 아래와 같이 그 일을하고, 내가 2000.00 또는 80.00처럼 하드 코딩 된 값을 사용하려는 해달라고, (는 arg0 및 ARG1는 모션 이벤트입니다)

int height = this.webview.getHeight(); 
float x = arg0.getRawX(); 
float y = arg0.getRawY(); 
float x2 = arg1.getRawX(); 
float y2 = arg1.getRawY(); 

if (x < 2000.00 && x2 < 2000.00 && y < 200.00 && y2 < 80.00) { 
showPopUp(); 
} 

하지만. 이 대신 기기 높이를 기준으로 스 와이프를 계산해야합니다. 이것은 잘 작동하고 있지만.

어떻게해야할까요? 그런 다음 쉽게 슬쩍이 상위 10 %에 있는지 결정하기 위해 그것을 사용할 수 있습니다

+0

당신이 원하는 영역 (귀하의 경우 상위 10 %)에 터치를 듣고 해당 이미지에만 터치 리스너를 설정할 수 있습니다. – Pramod

답변

-1
int height = this.webview.getHeight(); 
int width = this.webview.getWidth(); 

float maxHeight = height*.10f; //10% of 1000 is 100 
float maxWidth = width*.10f; //10% of 500 is 50 

float x = arg0.getRawX(); 
float y = arg0.getRawY(); 
float x2 = arg1.getRawX(); 
float y2 = arg1.getRawY(); 

if (x > 0 && x2 < maxWidth && y > 0 && y2 < maxHeight) { 
    showPopUp(); 
} 
0

당신은 WindowManager

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 
    Display display = wm.getDefaultDisplay(); 
    Point size = new Point(); 

    display.getSize(size); 

    // This is the height of the screen 
    size.y; 

를 통해 화면 높이를 얻을 수 있습니다.

높이를 계산할 필요가있는 위치에 따라이 값을 구성원 (onResume()의 Activity)에 캐시하여 구성 변경시 업데이트되도록 할 수 있습니다 (장치 회전 등)

+0

이미 화면 높이가 있습니다. – Deepak