میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

انیمیشن بر روی انتقال بین activityها در اندروید

با سلام خدمت همه دوستان عزیز در این مقاله قصد داریم در اعمال انیمیشن بر روی انتقال بین activityها در اندروید با shared view ها را آموزش دهیم

ویرایش ۵٫۰ اندروید این امکان را فراهم آورد تا بر روی فعل انتقال بین دو activity انیمیشن اعمال نموده و نیز view های تعریف کرد که بین دو activity مشترک هستند. پس از تعریف یک بخش مشترک، view قدیمی طی یک انیمیشن از activity اول در جایگاه و اندازه ی view جدید در activity دوم قرار می گیرد.
به منظور تست این قابلیت، یک پروژه ی جدید ایجاد نموده و پکیج com.vogella.android.activityanimationwithsharedviews را در بالای فایل پروژه (به عنوان top level package) درج نمایید
دو activity با دو فایل layout متفاوت تعریف نمایید که هر دو دربردارنده ی یک المان ImageView بوده و خاصیت (property) android:transitionName را داشته باشند

 

activity_main.xml

<LinearLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<ImageView
android:id="@+id/sharedimage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/ic_sharedimage"
/>
</LinearLayout>

 

activity_second.xml

<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.vogella.android.activityanimationwithsharedviews.SecondActivity">
<ImageView
android:id="@+id/sharedimage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic_sharedimage"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:id="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:transitionName="sharedImage"
android:layout_below="@+id/textView"
android:layout_alignParentStart="true"
android:layout_marginTop="54dp" />
</RelativeLayout>

کد activity خود را به صورت زیر ویرایش نمایید.

package com.vogella.android.activityanimationwithsharedviews;
import
android.app.Activity;
import
android.app.ActivityOptions;
import
android.content.Intent;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.ImageView;
public class
MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView sharedImage = (ImageView) findViewById(R.id.sharedimage);
sharedImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//This is where the magic happens.
// makeSceneTransitionAnimation takes a context, view,
// a name for the target view.
ActivityOptions options =
ActivityOptions.
makeSceneTransitionAnimation(MainActivity.this, sharedImage,
“sharedImage”);
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent, options.toBundle());
}
});
}
}
package com.vogella.android.activityanimationwithsharedviews;
import
android.app.Activity;
import
android.os.Bundle;
public class
SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
}

پس از اجرای اپلیکیشن و کلیک بر روی المان ،image viewمی بینید که المان مزبور با انیمیشن به view ای که خاصیت android:transitionName را دارد (کنترل دکمه) منتقل می شود.

 

 


امیدواریم آموزش اعمال انیمیشن بر روی انتقال بین activityها در اندروید با shared view ها نیز برای شما مفید واقع شده باشد و ادامه آموزش برنامه نویسی اندروید رو دنبال کنید . برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.
ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟