Android 는 제스처 슬라이딩 과 간단 한 애니메이션 효 과 를 실현 합 니 다.
4371 단어 Android손짓 으로 미끄러지다.
1.Activity 는 모두 터치 이벤트 에 응답 하 는 것 을 가지 고 있다.즉,Activity 를 만 지면 그 는 onTouch Event()방법 을 되 돌려 준다.그러나 이 방법 으로 는 사건 을 처리 할 수 없습니다.제스처 인식 기(Gesture Detector)를 사용 하 는 방법 인 onTouch Event 와 함께 사건(event)을 분석 처리 해 야 합 니 다.우 리 는 이 방법 에서 의 조작 을 다시 써 서 우리 의 수 요 를 달성 해 야 합 니 다.
/**
* activity , onTouchEvent, event
* event , x、y
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
boolean onTouchEvent = gestureDetector.onTouchEvent(event);
// event , True, false。
return super.onTouchEvent(event);
}
2.우 리 는 미끄럼 제스처 에 따라 인터페이스 점프 를 해 야 한다.Gesture Detector 는 서로 다른 제스처 를 감청 할 수 있 는 방법 을 봉인 했다.이 방법 은 어느 액 티 비 티 에서 사용 되 는 지,이 액 티 비 티 는 이 액 티 비 티 가 받 은 동작 을 감청 할 수 있 으 며,이 방법 에서 필요 한 동작 을 다시 쓸 수 있다.
GestureDetector gestureDetector = new GestureDetector(this, new OnGestureListener(){
@Override
public boolean onDown(MotionEvent e) {
//
return false;
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
//
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
//
return false;
}
@Override
public void onLongPress(MotionEvent e) {
//
}
/**
* , e1 ,e2
* event , 。
/
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2,float velocityX, float velocityY) {
if(e1.getRawX()-e2.getRawX()>200){
flingnextpage(); // ( )
}else if(e2.getRawX()-e1.getRawX()>200){
flingpreviouspage();//
}
if(Math.abs(e1.getRawY()-e2.getRawY())>200){
System.out.println(" ");
return true;//true
}
if(Math.abs(velocityX)<150 ||Math.abs(velocityY)<100){
System.out.println(" , ");
return true;
}
return true;
}
});
주:페이지 좌표애니메이션
목적:Activity 점프 페이지 의 과도 애니메이션 을 XML 파일 로 작성 합 니 다.
1.res 디 렉 터 리 에 anim 폴 더 를 새로 만 들 고 xml 파일 두 개 를 만 들 고 애니메이션 동작 을 편집 합 니 다.하 나 는 동작 에 들 어가 고 다른 하 나 는 종료 동작 입 니 다.
(1)animnext_in.xml 에 들 어 가 는 동작 을 적 으 세 요.
<?xml version="1.0" encoding="utf-8"?>
<translate
android:fromXDelta="100%p" <!― , -->
android:toXDelta="0"
android:duration="100" <!-- -->
xmlns:android="http://schemas.android.com/apk/res/android">
</translate>
(2)animnext_out.xml 에서 종료 동작 을 적 으 십시오.
<?xml version="1.0" encoding="utf-8"?>
<translate
android:fromXDelta="0" <!― -->
android:toXDelta="-100%p"
android:duration="100"
xmlns:android="http://schemas.android.com/apk/res/android">
</translate>
2.Activity 의 overridePendingTransition 방법 을 호출 하여 이동 애니메이션 을 실현 합 니 다.
/**
* overridePendingTransition(int enterAnim, int exitAnim)
* enterAnim ID, exitAnim ID
/
@Override
public void flingnextpage() {
// TODO Auto-generated method stub
startActivity(new Intent(this, NewActivity.class));
overridePendingTransition(R.anim.anim_next_in, R.anim.anim_next_out);
finish();//
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.