사용하십시오
import android.content.Context;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class CustomViewPager extends ViewPager {
float mStartDragX;
OnSwipeOutListener mListener;
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setOnSwipeOutListener(OnSwipeOutListener listener) {
mListener = listener;
}
@Override
public boolean onTouchEvent(MotionEvent ev){
if(getCurrentItem()==getAdapter().getCount()-1){
final int action = ev.getAction();
float x = ev.getX();
switch(action & MotionEventCompat.ACTION_MASK){
case MotionEvent.ACTION_DOWN:
mStartDragX = x;
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
if (x<mStartDragX){
mListener.onSwipeOutAtEnd();
}else{
mStartDragX = 0;
}
break;
}
}else{
mStartDragX=0;
}
return super.onTouchEvent(ev);
}
public interface OnSwipeOutListener {
public void onSwipeOutAtEnd();
}
}
손님 여러분과 함께 Viewpager를 대체보기에서 사용자 정의 클래스를 생성 한 후 후를 ViewPager 다음과 같이
<com.examples.activity.CustomViewPager android:id="@+id/pager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/rcTemp"
android:layout_alignLeft="@+id/rcTemp"
android:layout_alignRight="@+id/rcTemp"
android:layout_alignTop="@id/rcTemp"
android:layout_below="@+id/rcTemp" />
드 세번째 가시 도달하지 않을지라도
mPager = (CustomViewPager) findViewById(R.id.pager);
mPager.setOnSwipeOutListener(new CustomViewPager.OnSwipeOutListener() {
@Override
public void onSwipeOutAtEnd() {
Log.d("callledby me","yes");
}
});
코드를 게시 할 수 있습니까? – sasikumar
ViewPager는 활동이 아닌 조각이나 뷰를 표시합니다. 인 텐트를 사용하지 마십시오. 뷰 호출기에서 PagerAdapter –
Make 3 조각을 사용합니다. 세 번째 페이지를 완전히 스 와이프 한 다음 (onPageSelected() 메서드) onPageSelected 메서드에서 activity를 호출합니다. –