. 이 패키지에서 Slide_in_right에 액세스 할 수 없으므로 XML 파일 정의를 사용해야합니다.
frameworks/base/core/res/res/anim/slide_in_right.xml의 파일을 res로 복사하여 애니메이션에 액세스 할 수있었습니다. /anim/slide_in_right.xml 및 코드를 사용 :
AnimationUtils.loadAnimation(this, R.anim.slide_in_right);
애니메이션을로드하려면. 당신이 안드로이드`를 통해 액세스 할 수없는 경우
사용자가 이미지 다음 veiw 왼쪽으로 밀어 이전에 볼 수있는 이미지를 오른쪽으로 밀어 수있는 onTouchListener를 달성하기 위해 전체 코드는
/**
* @return
*/
protected OnTouchListener createOnTouch() {
return new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if ((event.getAction() == MotionEvent.ACTION_DOWN) || (event.getAction() == MotionEvent.ACTION_POINTER_DOWN)) {
downX = (int) event.getX();
Log.i("event.getX()", " downX " + downX);
return true;
} else if ((event.getAction() == MotionEvent.ACTION_UP) || (event.getAction() == MotionEvent.ACTION_POINTER_UP)) {
upX = (int) event.getX();
Log.i("event.getX()", " upX " + upX);
Log.d("event.getX()", " upX-downX " + (upX - downX));
Log.d("event.getX()", " downX-upX " + (downX - upX));
if (upX - downX > 100) {
imageSwitcher1.setInAnimation(AnimationUtils.loadAnimation(ImageDisplayActivity.this, android.R.anim.slide_in_left));
imageSwitcher1.setOutAnimation(AnimationUtils.loadAnimation(ImageDisplayActivity.this, android.R.anim.slide_out_right));
int newPosition = selected - 1;
showDetails(newPosition, gallery.getChildAt(newPosition));
// ImageDisplayActivity.this.switchTitle(curIndex);
} else if (downX - upX > 100) {
imageSwitcher1.setInAnimation(AnimationUtils.loadAnimation(ImageDisplayActivity.this, R.anim.slide_in_right));
imageSwitcher1.setOutAnimation(AnimationUtils.loadAnimation(ImageDisplayActivity.this, R.anim.slide_out_left));
int newPosition = selected + 1;
showDetails(newPosition, gallery.getChildAt(newPosition));
} else {
return false;
}
return true;
}
return false;
}
};
}
아래에 표시됩니다 .R.something' 그냥 XML을 복사하고 로컬로 사용하십시오. – zapl
android.R.anim.slide_in_right를 사용하여 참조 할 수 있어야합니다. 어떤 sdk 버전을 타겟팅하고 있습니까? –
나는 17을 목표로하고 있으며, 최소 sdk 버전 14를 사용하고있다. – TeamBanana