این اموزش ما با استفاده از انیمیشن به حرکت در بین اکتیوتی ها یک حالت زیبا و اسلاید خواهیم داد.

 

برای شروع کار یک پروژه جدید ایجاد میکنم به اسم 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);

 

}

});

 

}


 


مشخصات

آخرین ارسال ها

آخرین جستجو ها