بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

جابجایی بین اکتیویتی ها با لمس صفحه

مدیریت گفتگو
138553 12 سال پیش
آخرین تغییر: 11 سال پیش

چجوری می تونم بین اکتیویتی ها با لمس صفحه یعنی با کشیدن انگشت به چپ یا راست جابجا بشم؟

مثلا تو چند اکتیویتی عکس دارم میخوام با لمس صفحه بره صفحه بعد...

نظرات

sadeghbarout 12 سال پیش
اگه عکسه که پروژه اسلایدر تصاویر بخش 21 رو نگاه کن.
hosseinAmini 12 سال پیش
باید از fragment به جای activity استفاده کنی. از کتابخونه actionbarsherlock استفاده کن، البته خود اندروید هم چنین قابلیتی داره ولی تو اندروید 3 به بالا فقط اجرا میشه ولی actionbarsherlock از اندروید 2.2 به بالا. اگر هم میخوای تو اینترنت جست و جو کنی کلمه swipe tabs رو جست و جو کن.
mf2010 12 سال پیش
اگه از دیتابیس هم استفاده میکنی از ویوپیجر استفاده کن

پاسخ‌ها 2

138553 12 سال پیش

اگر عکس نباشه چیکار کنم. اکتیویتی باشه.

 

نظرات

mf2010 12 سال پیش

این کد رو هیچ جا گیر نمیاری  من برات میذارم  (:

اینا رو تو بالای 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();

نظرات

138553 12 سال پیش
دمت گرم
eduitn 12 سال پیش
آمکان داره یه مدل سورس بزارین ؟
mf2010 12 سال پیش
دوست عزیز سورسی نیاز ندارد این کدهای بالا رو تو اکتویتی که میخای با انگشت چپ و راست کنی قرار بده همین اگر منظور شما ویوپیچر است اون قضیش فرق میکنه این فقط برای جابه جایی بین دو اکتیوتی هستش
eduitn 12 سال پیش
شبیه به اون پست های که من گذاشتم در مورد اسلاید صفحهات میشه من با مشکل بر خورد امکان داره یه نگاه بندازین
alireza 11 سال پیش
mf2010 بسیار ممنون استفاده کردیم خوب بود ممنون

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .