ایجاد slide activity در اندروید
سه شنبه 26 آبان 1394در این مقاله می خواهیم در مورد slide activity صحبت نماییم، این که چه کاربردی دارد و کجا استفاده می شود، و چه امکاناتی دارد این نمونه را در intellij انجام می دهیم.
ابتدا دو فایل 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 دوم می روید.
- Android
- 1k بازدید
- 1 تشکر