تو این مقاله قصد دارم یه مثال ساده برای استفاده از ویژگی shared elements تو اندروید رو توضیح بدم. همونطور که میدونید این ویژگی از اندروید 5 به بعد به این سیستم عامل اضافه شد و بعد از اون شاهد انیمیشن ها و جابه جایی های قشنگ تری تو نرم افزار ها بودیم.
برای این کار مرحله اول اضافه کردن یک ImageView تو اکتیویتی اولمونه
چند تا نکته رو باید اینجا بهش توجه کنید:
اول اینکه چون این ویژگی از اندروید 5 به بعد اضافه شده اگر شما برای برنامتون minSdkVersion رو روی مقداری کمتر از 21 بگذارید مجبورید tools:targetApi="lollipop" حتما مقدار دهی کنید.
نکته بعدی هم خصوصیت transitionName هست که یه اسم به دلخواهتون بهش میدید و برای بقیه فرایند هم از این اسم استفاده میشه درواقع این خصیصه هست که مشخص میکنه المان مورد نظر تو مبدا باید تبدیل بشه به کدوم المان تو مقصد.
در ادامه یه imageView هم تو اکتیویتی مقصدمون قرار میدیم
همونجور که میبینید خصوصیت transitionNameرو هم اینجا دقیقا همون مقداری رو بهش دادیم که تو اکتیویتی اول داده بودیم
علاوه بر این ها باید خط زیر رو هم تو style برنامه باید اضافه کنید:
توجه کنید که مقدار tools:targetApi="lollipop" رو هم اینجا باید اضافه کنید در صورتی که minSdkVersion رو مقداری کمتر از 21 قرار دادید در غیر این صورت نیازی به اضافه کردنش ندارید.
حالا مرحله اخر اضافه کردن کد مربوط به جابه جایی بین دو تا اکتیویتی هست:
خب اینجا باید تو باکس شماره 1 که مشخص شده اون transitionName که قبلا مشخص کرده بودیم رو بهش پاس بدیم که من مقدار imageرو براش گذاشته بودم.
تو باکس شماره 2 هم باید id مربوط به imageView تو اکتیویتی مبدا رو بهش پاس بدیم که من مقدار image_view رو بهش دادم.
داخل اکتیویتی دوم هم چیز خاصی نیاز نیست بگذارید.
و تمام:) حالا میتونید برنامه رو run کنید و نتیجه رو ببینید.
کدهای مربوط به این مثال رو هم تو لینک زیر میتونید بهش دسترسی داشته باشید:
https://github.com/NasrinMohammadzadeh/shared-elements