رفتن به مطلب

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

Nemesis

انیمیشن ابتدایی و بین اکتیویتی ها

پست های پیشنهاد شده

Nemesis    1,844

دوستان سریع عرض میکنم خدمتتون و بقیه کار ها با شما بزرگواران

 

1. بسیار پیش اومده که دوستان مشکل در انیمیشن ابتدایی نرم افزار یعنی زمان باز شدن از بالا سمت چپ داشتن خوب شما کتابخانه انیمیشن رو تیک بزنید سپس کد زیر رو هرجور دوست دارید ویرایش کنید

    Dim btnanim As Animation
Activity.LoadLayout("layout")
btnanim.InitializeScaleCenter("", 0,0,1,1, Activity)
btnanim.Duration = 500
btnanim.Start(Activity)

خوب در خصوص انیمیشن بین اکتیویتی ها باید از فایل XML استفاده کنید که باید در آدرس

 

Objects\res\anim

 

ایجاد کنید و حتما تاکید میکنم حتما باید ReadOnly کنیدشون و با کد زیر فراخوانی کنید

StartActivity(aaa)
SetAnimation("file1", "file4")
Sub SetAnimation(InAnimation As String, OutAnimation As String)
    Dim r As Reflector
    Dim package As String
    Dim In, out As Int
   package = r.GetStaticField("anywheresoftware.b4a.BA", "packageName")
    In = r.GetStaticField(package & ".R$anim", InAnimation)
    out = r.GetStaticField(package & ".R$anim", OutAnimation)
    r.Target = r.GetActivity
    r.RunMethod4("overridePendingTransition", Array As Object(In, out), Array As String("java.lang.int", "java.lang.int"))
End Sub

خوب اینم کد های پایه XML

 

file1

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

File 2

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

File 3

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

File 4

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

دوستان بنده خیلی خیلی درگیر چند پروژه بزرگم به زودی با آموزش های قدرتمند بر میگردم

 

فراموش نکنید این فقط ماهیگیری بود خودتون تلاش کنید مشکل بود بکید سورس بذارم

 

در پناه حق

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
vahidh16    160

دوست عزیز اگه بخوایم اکتیویتی بجای اینکه از یه طرف به طرف دیگه بره محو بشه باید چیکار کنیم؟؟؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
Nemesis    1,844

دوست عزیز اگه بخوایم اکتیویتی بجای اینکه از یه طرف به طرف دیگه بره محو بشه باید چیکار کنیم؟؟؟

Dim an1 As AnimationPlus
an1.InitializeAlpha("a1",0,1)
an1.PersistAfter = True
an1.Duration=2500
an1.Start(activityname)

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
hajmaj    5

دوستان برای اینکه بتونم بعد از اعمال انیمیشن روی یک ایمیج ویو میخوام بهش بگم بره به یه اکتیویتی دیگه باید چیکار کنم؟؟؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
 

عزیزان برای اینکه بخوام سرعت اجرا شدن اکتیویتی رو کم کنم باید چیکار کنم؟قبلا انجام دادم ولی الان به ذهنم نمیرسه :zoor:

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوستان برای اینکه بتونم بعد از اعمال انیمیشن روی یک ایمیج ویو میخوام بهش بگم بره به یه اکتیویتی دیگه باید چیکار کنم؟؟؟

Sub b1_AnimationEnd
کار مورد نظر بعد از اتمام انیمیشن
End Sub 

b1 اسم رویدادی هست که برای انیمیشن تعریف کردیم.

مثلا اگه گفته باشیم an1.InitializeAlpha("a1",0,1) بیاید به جای b1 توی کد بالا بنویسیم a1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
hemmaty76    175

بخدا توضیحات خیلی کمه

من که تجربه ای ندارم هیچی متوجه نمیشم

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
حاج حسین    2,095

الان دقیقا کجاشو متوجه نشدی

ببنید کدهای که تو پست اول هستو تو ادیتور مثل نوت پد کپی کن 

مثلا اولی نوشته به اسم file1 تو نوت پد اولیو کپی کن و برای ذخیره کردنش اسمش file1.xml سیو کن والی آخر

بعد تو پوشه  آبجکت و بعد تو res یه پوشه به اسم anim ایجاد کن اگر بود که هیچ (در ضمن فایل های xml حتما باید رد آنلی باشه وگرنه خطا میده )

مابقی توضیحات تو پست اول هست

Objects\res\anim

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
hemmaty76    175

 

الان دقیقا کجاشو متوجه نشدی

ببنید کدهای که تو پست اول هستو تو ادیتور مثل نوت پد کپی کن 

مثلا اولی نوشته به اسم file1 تو نوت پد اولیو کپی کن و برای ذخیره کردنش اسمش file1.xml سیو کن والی آخر

بعد تو پوشه  آبجکت و بعد تو res یه پوشه به اسم anim ایجاد کن اگر بود که هیچ (در ضمن فایل های xml حتما باید رد آنلی باشه وگرنه خطا میده )

مابقی توضیحات تو پست اول هست

Objects\res\anim

تواین خط بهم اخطار مید

   In = r.GetStaticField(package & ".R$anim", InAnimation)
    out = r.GetStaticField(package & ".R$anim", OutAnimation)

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
حاج حسین    2,095

الان تو این تاپیک برو سورس دانلود و استفاده کن شاید جای رو اشتباه میری (من همین الان تست کردم مشکلی نداشت)

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
hemmaty76    175

الان تو این تاپیک برو سورس دانلود و استفاده کن شاید جای رو اشتباه میری (من همین الان تست کردم مشکلی نداشت)

واقعا دستت درد نکنه.فوق العاده ممنونم

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
MasterMind    3

سلام

من از این آموزش استفاده کردم

انیمیشن هم اجرا میشه

اما تا انیمیشن تموم نشه، لی اوت اکتیویتی بعدی لود نمیشه، که جالب نیست

چجوری میشه موقع اجرای انیمشن لی اوت رو لود کرد؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
حاج حسین    2,095
در در 1395/10/28, 11:07:56، سینا پارکور گفته است :

سلام میشه نمونه سورس کامل بزارید برای دانلود.یا اگه بقیه دارن بزارن مرسی خیلی ممنون:heart:

 

در در 1394/09/13, 12:42:27، dftbayat گفته است :

الان تو این تاپیک برو سورس دانلود و استفاده کن شاید جای رو اشتباه میری (من همین الان تست کردم مشکلی نداشت)

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
rezac    12
در در 1394/04/08, 20:01:43، Nemesis گفته است :

Dim an1 As AnimationPlus
an1.InitializeAlpha("a1",0,1)
an1.PersistAfter = True
an1.Duration=2500
an1.Start(activityname)

من این کد رو نوشتم. اما بهم خطا داد از آخرین خطش.

به جای activityname باید اکتیویتی مبدا رو بنویسم یا اکتیویتی مقصد?

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

×
×
  • جدید...