Android 이벤트 배포를 통해 슬라이딩 Activity 반환
/**
*
* Activity
* @author
*/
public class SlideBackActivity extends Activity{
//
private static final int YSPEED_MIN = 1000;
//
private static final int XDISTANCE_MIN = 50;
//
private static final int YDISTANCE_MIN = 100;
// 。
private float xDown;
// 。
private float yDown;
// 。
private float xMove;
// 。
private float yMove;
// 。
private VelocityTracker mVelocityTracker;
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
createVelocityTracker(event);
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
xDown = event.getRawX();
yDown = event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
xMove = event.getRawX();
yMove= event.getRawY();
//
int distanceX = (int) (xMove - xDown);
int distanceY= (int) (yMove - yDown);
//
int ySpeed = getScrollVelocity();
// Activity :
//1.x >XDISTANCE_MIN
//2.y YDISTANCE_MIN
//3.y ( )<XSPEED_MIN, , Activity
if(distanceX > XDISTANCE_MIN &&(distanceY<YDISTANCE_MIN&&distanceY>-YDISTANCE_MIN)&& ySpeed < YSPEED_MIN) {
finish();
}
break;
case MotionEvent.ACTION_UP:
recycleVelocityTracker();
break;
default:
break;
}
return super.dispatchTouchEvent(event);
}
/**
* VelocityTracker , VelocityTracker 。
*
* @param event
*
*/
private void createVelocityTracker(MotionEvent event) {
if (mVelocityTracker == null) {
mVelocityTracker = VelocityTracker.obtain();
}
mVelocityTracker.addMovement(event);
}
/**
* VelocityTracker 。
*/
private void recycleVelocityTracker() {
mVelocityTracker.recycle();
mVelocityTracker = null;
}
/**
*
* [url=home.php?mod=space&uid=309376]@return[/url] , 。
*/
private int getScrollVelocity() {
mVelocityTracker.computeCurrentVelocity(1000);
int velocity = (int) mVelocityTracker.getYVelocity();
return Math.abs(velocity);
}
}
원작자 감사:http://www.apkbus.com/forum.php?mod=viewthread&tid=243621&extra=page%3D2
:https
:
/
/
github.com
/
ikew
0
ng
/
SwipeBackLayout
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.