آموزش Swipe در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش Swipe در برنامه نویسی اندروید می پردازیم از swipe می توانید در recyclerview , listview و حتی هر view سفارشی عمل swipe را detect کنید در ادامه می توانید پیش نمایشی از آن را مشاهده کنید با ما همراه باشید.
در swipe شما می توانید هشت نوع حالت را تشخیص دهید که عبارتند از :
- SWIPING_LEFT
- SWIPED_LEFT
- SWIPING_RIGHT
- SWIPED_RIGHT
- SWIPING_UP
- SWIPED_UP
- SWIPING_DOWN
- SWIPED_DOWN
برای اینکه از این نوع swipe استفاده کنید باید کتاب خانه زیر را اضافه کنید.
1 | compile 'com.github.pwittchen:swipe-rx2:0.3.0' |
پروژه را sync کنید.
ابتدا یک متغیر از آن ایجاد کنید همانند زیر
1 | private Swipe swipe; |
همانند زیر می توانید swipe را در حالت های مختلف بررسی کنید باید در layout خود یک textview با آیدی info قرار دهید و از کد زیر استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); info = (TextView) findViewById(R.id.info); swipe = new Swipe(); swipe.setListener(new SwipeListener() { @Override public void onSwipingLeft(final MotionEvent event) { info.setText("SWIPING_LEFT"); } @Override public void onSwipedLeft(final MotionEvent event) { info.setText("SWIPED_LEFT"); } @Override public void onSwipingRight(final MotionEvent event) { info.setText("SWIPING_RIGHT"); } @Override public void onSwipedRight(final MotionEvent event) { info.setText("SWIPED_RIGHT"); } @Override public void onSwipingUp(final MotionEvent event) { info.setText("SWIPING_UP"); } @Override public void onSwipedUp(final MotionEvent event) { info.setText("SWIPED_UP"); } @Override public void onSwipingDown(final MotionEvent event) { info.setText("SWIPING_DOWN"); } @Override public void onSwipedDown(final MotionEvent event) { info.setText("SWIPED_DOWN"); } }); } |
شما از این کتاب خانه در معماری rxjava نیز می توانید استفاده کنید. توصیه ما استفاده از معماری rxjava است.
در ادامه کد زیر را مشاهده کنید.
1 2 3 4 5 6 7 8 9 10 | @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); info = (TextView) findViewById(R.id.info); swipe = new Swipe(); disposable = swipe.observe() .subscribeOn(Schedulers.computation()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(swipeEvent -> info.setText(swipeEvent.toString())); } |
در بالا از observer به منظور پیاده سازی معماری mvp استفاده شده است بیشتر بخش این معماری توسط برنامه نویس فراهم می شود و فقط باید نحوه استفاده از آن را آموخت.
این آموزش هم همانند آموزش های قبلی به پایان رسید.
موفق و پیروز باشید.
سلام.با تشکر از مطالب خوبتون. این کتابخونه جواب نداد برای من.
چندتا از متد هاشم Boolean بود خروجیش.
باعرض سلام خدمت شما.
ببخشید اگر بخواهیم جهات فرعی یعنی شمال شرقی،شمال غربی،جنوب شرقی و جنوب غربی را هم اضافه کنیم این امکان وجود دارد؟
سلام و درود فکر نمی کنم همچین event اصلا وجود داشته باشد شاید بشه این event رو ساخت باید خود کلاس swipe را نیز سفارشی سازی کنید
سلام.
تشکر از لطفتون.
(چه بد!)