ورود

View Full Version : ساخت انیمیشن ساده بین اکتیویتی ها(در برنامه نویسی اندروید)



hadihs
یک شنبه 01 شهریور 1394, 23:53 عصر
سلام
تا حالا دقت کردین که در هر مدل گوشی و یا شرکت سازنده مثه سونی و سامسونگ و ... اگه شما بین اکتیوتی ها انیمیشن نذارید از انیمیشن پیشفرض استفاده میکنه؟
من یه برنامه ساختم و مثلا در صفحه نمایش بزرگ وقتی روی یک باتن کلیکل میکنم که بره اکتیویتی بعدی یه حالت «کوچک تر از صفحه ایجاد شدن و سریع به اندازه ی صفحه رسیدن» داره.صفحه نمایش های کوچک هم به صورتی دیگر همینطوره.فقط مثال زدم
حالا من دو تا سوال دارم:
1.من میخوام با کد بگم که هیچ انیمیشنی نباشه و خیلی ساده فقط ظاهر بشه.
2.اگه بخوام انیمیشنی بنویسم که وقتی میخواد به اکتیویتی زیر مجموعه بره اکتیویتی ها به نظر برسه که دارند به سمت راست میرند و وقتی دکمه بک را بزنید به علت اینکه می خواند برگردند انیمیشن رو به سمت چپ داردند. و همچنین جوری باشه که برای تمام صفحه نمایش های مختلف یکی باشه.
اگه بد توضیح دادم بگید تا با توضیح بهتر و یا حتی با عکس توضیح بدم. اگه برای صفحه نمایش های مختلف حتما باید جداگونه طراحی بشه هم لطفا بگید.
منتظر پاسخ هاتون هستم.
از تمام دوستانی که وقت میگذارند ممنونم.

92vdic
دوشنبه 02 شهریور 1394, 09:57 صبح
اول باید دو تا فایل XML بسازی و اونها رو توی drawable بزاری

اولی animations.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p" android:toXDelta="0"
android:duration="500"/>

</set>

و دومی animations2.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0" android:toXDelta="-100%p"
android:duration="500"/>

</set>

بعد از این کد برای رفتن به اکتیویتی بعدی استفاده کنی

Intent slideactivity = new Intent(MainActivity.this, About.class);

Bundle bndlanimation =
ActivityOptions.makeCustomAnimation(getApplication Context(), R.drawable.animations,R.drawable.animations2).toBu ndle();
startActivity(slideactivity, bndlanimation);