EN

Search
Close this search box.

موستانگ، وحشیِ دوست داشتنی

پاسخ داده شد
0
0

می خواهیم برای هر کدام از عناصر صفحه (Button, TextView و غیره) انیمیشن هایی ساده اما جذاب تعریف کنیم.

انیمیشن در اندروید - موستانگ

  • شما باید برای ارسال دیدگاه شوید
پاسخ عالی
0
0

در ادامه، با مراحل مورد نیاز برای اجرای یک انیمیشن بر روی هر کدام از عناصر UI، نظیر Button یا Image آشنا خواهید شد. ساخت انیمیشن خیلی ساده است. تنها لازم است تا تعدادی فایل ساخته و چند خطی هم کد بزنید.

مرحله اول: در یک فایل xml، انیمیشن را تعریف کنید

در ابتدا باید انیمیشن مورد نظر خودتان را با xml بنویسید. سپس این فایل (animation.xml) را در مسیر زیر قرار دهید.

res > anim > animation.xml

انیمیشن در اندروید - موستانگ

fade_in.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true" >
 
    <alpha
        android:duration="1000"
        android:fromAlpha="0.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toAlpha="1.0" />
 
</set>

 

<< در این لینک ، انواعی از انیمیشن های مهم xml ای را می توانید مشاهده کنید. >>

 

مرحله دوم: انیمیشن را لود کنید

سپس در اکتیویتی خود، یک شیئ از کلاس Animation بسازید و با استفاده از تابع loadAnimation از کلاس AnimationUtils ، انیمیشن را لود کنید.

 

FadeInActivity.java:

public class FadeInActivity extends Activity{
 
    TextView txtMessage;
 
    // Animation
    Animation animFadein;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fadein);
 
        txtMessage = (TextView) findViewById(R.id.txtMessage);
 
        // load the animation
        animFadein = AnimationUtils.loadAnimation(getApplicationContext(),
                R.anim.fade_in);        
    }
}

مرحله سوم:  animation listeners را تنظیم کنید (این قسمت اختیاری است)

اگر می خواهید به رویدادهایی نظیر شروع، تکرار یا تمام شدن انیمیشن گوش دهید، باید کلاس AnimationListener را پیاده سازی کنید. اگر بخواهید این کلاس را پیاده سازی کنید، باید توابع زیر را دوباره تعریف کنید (override).

  • onAnimationStart: وقتی فراخوانی می شود که انیمیشن شروع شود.
  • onAnimationEnd: وقتی فراخوانی می شود که انیمیشن تمام شود.
  • onAnimationRepeat: وقتی فراخوانی می شود که انیمیشن تکرار شود.
public class FadeInActivity extends Activity implements AnimationListener {
.
.
.
// set animation listener
animFadein.setAnimationListener(this);
.
.
.
// animation listeners
    @Override
    public void onAnimationEnd(Animation animation) {
        // Take any action after completing the animation
        // check for fade in animation
        if (animation == animFadein) {
            Toast.makeText(getApplicationContext(), "Animation Stopped",
                    Toast.LENGTH_SHORT).show();
        }
 
    }
 
    @Override
    public void onAnimationRepeat(Animation animation) {
        // Animation is repeating
    }
 
    @Override
    public void onAnimationStart(Animation animation) {
        // Animation started
    }

مرحله چهارم: در نهایت، انیمیشن را شروع کنید

در هر جا و زمانی که خواستید، می توانید انیمیشن را شروع کنید، البته با فراخوانی تابع بر روی هر کدام از عناصر UI و دادن یک شیئ از کلاس Animation . در اینجا، ما انیمیشن fade_in را بر روی یک TextView اجرا می کنیم.

// start the animation
txtMessage.startAnimation(animFadein);

کد کامل

در زیر می توانید کد کامل را برای FadeInActivity مشاهده کنید.

package info.androidhive.androidanimations;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Animation.AnimationListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
 
public class FadeInActivity extends Activity implements AnimationListener {
 
    TextView txtMessage;
    Button btnStart;
 
    // Animation
    Animation animFadein;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fadein);
 
        txtMessage = (TextView) findViewById(R.id.txtMessage);
        btnStart = (Button) findViewById(R.id.btnStart);
 
        // load the animation
        animFadein = AnimationUtils.loadAnimation(getApplicationContext(),
                R.anim.fade_in);
         
        // set animation listener
        animFadein.setAnimationListener(this);
 
        // button click event
        btnStart.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                txtMessage.setVisibility(View.VISIBLE);
                 
                // start the animation
                txtMessage.startAnimation(animFadein);
            }
        });
 
    }
 
    @Override
    public void onAnimationEnd(Animation animation) {
        // Take any action after completing the animation
 
        // check for fade in animation
        if (animation == animFadein) {
            Toast.makeText(getApplicationContext(), "Animation Stopped",
                    Toast.LENGTH_SHORT).show();
        }
 
    }
 
    @Override
    public void onAnimationRepeat(Animation animation) {
        // TODO Auto-generated method stub
 
    }
 
    @Override
    public void onAnimationStart(Animation animation) {
        // TODO Auto-generated method stub
 
    }
 
}
  • شما باید برای ارسال دیدگاه شوید
نمایش 1 نتیجه
پاسخ شما
اگر قبلاً حساب کاربری دارید با پر کردن فیلد های زیر یا به عنوان مهمان ارسال کنید.
نام*
ایمیل*
وب سایت