بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
جابجایی بین اکتیویتی ها با لمس صفحه
چجوری می تونم بین اکتیویتی ها با لمس صفحه یعنی با کشیدن انگشت به چپ یا راست جابجا بشم؟
مثلا تو چند اکتیویتی عکس دارم میخوام با لمس صفحه بره صفحه بعد...
0
0
اگه عکسه که پروژه اسلایدر تصاویر بخش 21 رو نگاه کن. (12 سال پیش)
0
0
باید از fragment به جای activity استفاده کنی. از کتابخونه actionbarsherlock استفاده کن، البته خود اندروید هم چنین قابلیتی داره ولی تو اندروید 3 به بالا فقط اجرا میشه ولی actionbarsherlock از اندروید 2.2 به بالا. اگر هم میخوای تو اینترنت جست و جو کنی کلمه swipe tabs رو جست و جو کن. (12 سال پیش)
0
0
اگه از دیتابیس هم استفاده میکنی از ویوپیجر استفاده کن (12 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
mf2010
12 سال پیش
+16
0
این کد رو هیچ جا گیر نمیاری من برات میذارم (:
اینا رو تو بالای oncreate معرفی کن
private GestureDetector gDetector; private static final int SWIPE_MIN_DISTANCE = 120; private static final int SWIPE_MAX_OFF_PATH = 250; private static final int SWIPE_THRESHOLD_VELOCITY = 200;
اینا هم تو خود oncreate
Context context = this;
gDetector = new GestureDetector(context, this);
Log.d(Thread.currentThread().getStackTrace()[2].getClassName()
.substring(
Thread.currentThread().getStackTrace()[2]
.getClassName().lastIndexOf(".") + 1)
+ "."
+ Thread.currentThread().getStackTrace()[2].getMethodName()
+ "():"
+ Thread.currentThread().getStackTrace()[2].getLineNumber(),
"it worked");
}
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
super.dispatchTouchEvent(ev);
return gDetector.onTouchEvent(ev);
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// Check movement along the Y-axis. If it exceeds
// SWIPE_MAX_OFF_PATH,
// then dismiss the swipe.
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// Swipe from right to left.
// The swipe needs to exceed a certain distance (SWIPE_MIN_DISTANCE)
// and a certain velocity (SWIPE_THRESHOLD_VELOCITY).
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
// next();
Log.e(Thread.currentThread().getStackTrace()[2].getClassName()
.substring(
Thread.currentThread().getStackTrace()[2]
.getClassName().lastIndexOf(".") + 1)
+ "."
+ Thread.currentThread().getStackTrace()[2].getMethodName()
+ "():"
+ Thread.currentThread().getStackTrace()[2].getLineNumber(),
"Swipe from right to left");
Intent intent = new Intent(this, vob16_32.class);
startActivity(intent);
finish();
return true;
}
// Swipe from left to right.
// The swipe needs to exceed a certain distance (SWIPE_MIN_DISTANCE)
// and a certain velocity (SWIPE_THRESHOLD_VELOCITY).
if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
// previous();
Log.e(Thread.currentThread().getStackTrace()[2].getClassName()
.substring(
Thread.currentThread().getStackTrace()[2]
.getClassName().lastIndexOf(".") + 1)
+ "."
+ Thread.currentThread().getStackTrace()[2].getMethodName()
+ "():"
+ Thread.currentThread().getStackTrace()[2].getLineNumber(),
"Swipe from left to right");
Intent intent = new Intent(this, vob16_30.class);
startActivity(intent);
finish();
return true;
}
return false;
}
public void onLongPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
return false;
}
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean onTouchEvent(MotionEvent me) {
return gDetector.onTouchEvent(me);
}
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
public void onGesture(GestureOverlayView overlay, MotionEvent event) {
// TODO Auto-generated method stub
}
public void onGestureCancelled(GestureOverlayView overlay,
MotionEvent event) {
// TODO Auto-generated method stub
}
public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) {
// TODO Auto-generated method stub
}
public void onGestureStarted(GestureOverlayView overlay,
MotionEvent event) {
// TODO Auto-generated method stub
}
}
برای رفتن به سمت راست این قسمت رو تغییر بده
Intent intent = new Intent(this, vob16_32.class);//اکتیویتی دلخواه startActivity(intent); finish();
برای سمت چپ اینو
Intent intent = new Intent(this, vob16_30.class);//اکتیوتی دلخواه startActivity(intent); finish();
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .