حرکت اسلاید بین اکتیوتی ها با انیمیشن ها +سورس

به نام خداةدر این جلسه می خواهیم به ادامه مبحث انمیشن در اندروید بپردازیم.در این اموزش ما با استفاده از انیمیشن به حرکت در بین اکتیوتی ها یک حالت زیبا و اسلاید خواهیم داد.در اموزش های قبلی با ایجاد اکتیوتی و حرکت در بین اون ها اشنا شدیم.و در مباحث قبلی مربوط به انیمیشن با انواع انیمیشنها در اندروید اشنا شدیم.

برای شروع کار یک پروژه جدید ایجاد میکنم به اسم SlideAnimation.بروی لایه اصلی برنامه یا activity_main.xml یک دکمه Button قرار میدیم.وظیفه این دکمه هدایت کاربر به صفحه دوم برنامه است.برای ایجاد صفحه دوم برنامه یا یک اکتیوتی جدید به این مطلب مراجعه کنید.بعد از تکمیل کردن لایه برنامه میریم سراغ انیمیشن ها و ساختشون.برای اینکار یک فولدر جدید در پوشه res ایجاد میکنیم به اسم anim در داخلش از دوتا فایل Xml به نام های animation.xml وanimation2.xml برای ایجاد حالت نمایشی اسلاید استفاده میکنیم.(کدهای کامل فایل animation.xml).

 <?xml version="1.0" encoding="utf-8"?>

 <translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="500"/>

کدهای کامل فایل  animation2.xml را  در زیر مشاهده  میکنید.

 <?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="-50%p"
android:duration="500"/>

خیلی عالی.بعد از اتمام کردن طراحی انیمیشن ها،میریم سراغ فایل MainActivity.java و نوشتن کدهای جاوای برنامه.در داخل این فایل ابتدا دکمه رو معرفی کردیم و با استفاده از قابلیت OnClickListener براش یک رویداد کلیک ساختیم تا وقتی روش کلیک شد با استفاده از Intent کاربر رو به اکتیوتی دومی هدایت کنه و با استفاده از Bundle انیمیشن ها رو به حالت نمایشی اکتیوتی اضافه کنه.(کدهای کامل MainActivity.java  ).

 import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

@SuppressLint("NewApi")
public class MainActivity extends Activity {

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//معرفی دکمه
Button btnopen = (Button)findViewById(R.id.btn);

//ایجاد یک کلیک لیسنر برای دکمه
btnopen.setOnClickListener(new View.OnClickListener() {



@SuppressLint("NewApi")
@Override
public void onClick(View v) {

// ایجاد اینتنت برای رفتن به اکتیوتی دومی
Intent slideactivity = new Intent(MainActivity.this, Screen.class);

//ایجاد انیمیشن با استفاده از فایل های xml برای حرکت در بین اکتیوتی ها
Bundle bndlanimation = 
ActivityOptions.makeCustomAnimation(getApplicationContext(),  R.anim.animation,R.anim.animation2).toBundle();
startActivity(slideactivity, bndlanimation);

}
});

}

به همین راحتی.موفق باشید


فایلهای ضمیمه
توجه! برای مشاهده فایلهای ضمیمه با ید وارد سایت شوید

نظرات شما نظر جدید
سایر مقالات این دسته