ایجاد slide activity در اندروید

سه شنبه 26 آبان 1394

در این مقاله می خواهیم در مورد slide activity صحبت نماییم، این که چه کاربردی دارد و کجا استفاده می شود، و چه امکاناتی دارد این نمونه را در intellij انجام می دهیم.

ایجاد slide activity در اندروید

ابتدا دو فایل xml در پوشه ی anim در res ایجاد نمایید، به صورت زیر:

<?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"/>
<?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"/>

Activityoptions: یک کلاس کمکی که یک بسته ی نرم افزاری (Bundle) را می سازد، که با استفاده از Contex.startactivity(Intent,Bundle) و متد های مرتبط به آن استفاده می شود.

makeCustomAnimation: ایجاد یک ActivityOption مشخص برای اجرای  انیمیشن های سفارشی زمانی که activity نمایش داده می شود، این گزینه های Activity نوع شی را مشخص می کند، که با استفاده از متد StartActivity() slide به صورت کشویی باز خواهد شد.

قدم اول درست کردن activity که دکمه را نمایش می دهد.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    android:paddingBottom="@dimen/activity_vertical_margin"

    tools:context=".MainActivity"

 >

<Button

       android:id="@+id/button"

        android:layout_height="wrap_content"

        android:layout_width="300dp"

        android:text="Slide"

        android:textStyle="italic"

 

        android:textSize="40dp"

        android:layout_centerHorizontal="true"

        ></Button>

</RelativeLayout>

قدم دوم درست کردن activity که تصویر مورد نظر را نشان خواهد داد.

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

              android:orientation="vertical"

              android:layout_width="match_parent"

              android:layout_height="match_parent"

        android:background="#234567">

 

   <ImageView

           android:layout_width="wrap_content"

           android:layout_height="wrap_content"

           android:src="@drawable/download"

           android:layout_gravity="center"

           android:layout_marginTop="100dp"

           ></ImageView>

 

</LinearLayout>

قدم سوم : ایجاد کلاس جاوا

package com.barnamenevisan.myapp;

import android.app.Activity;
import android.os.Bundle;
import android.app.ActivityOptions;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
public class MyActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button = (Button)findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                Intent slide = new Intent(MyActivity.this, Second.class);

                Bundle bnaniamtion =ActivityOptions.makeCustomAnimation(getApplicationContext(), R.anim.anim1,R.anim.anim2).toBundle();

                startActivity(slide, bnaniamtion);

            }

        });

    }

}

که برای دکمه ی مورد نظر یک رویداد نوشته شده است که زمانی که دکمه را کلیک کرد animation ها اجرا شود و با استفاده از یک intent از یک Activity به Activity دوم برود.

قدم چهارم :ایجاد کلاس برای activity دوم است.

package com.barnamenevisan.myapp;

import android.app.Activity;
import android.os.Bundle;
/**
 * Created by Zokaee on 11/16/2015.
 */
public class Second extends Activity {
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.second);



    }
}

قدم پنجم :کد androidmanifest است که باید دو activity مورد نظر را داخل آن تعریف نمایید.

خروجی به صورت زیر خواهد بود:

زمانی که دکمه را می زنید به activity دوم می روید.

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید