Android Atom Spin Animation

Android Atom Spin Animasyonu: Bir Giriş

Atom spin animasyonu, bir atomun çekirdeği etrafında dönen elektronların hareketini gösteren bir görsel efekttir. Bu efekt, genellikle bilimsel veya eğitimsel uygulamalarda kullanılır. Android platformunda, atom spin animasyonunu oluşturmak için çeşitli yöntemler mevcuttur. Bu makalede, bu yöntemlerden bazılarını ele alacağız.

Yöntem 1: Canvas Kullanarak Atom Spin Animasyonu Oluşturma

Canvas, Android platformunda grafik çizmek için kullanılan bir sınıftır. Bu sınıfı kullanarak, atom spin animasyonunu manuel olarak çizebilirsiniz. Aşağıdaki adımları izleyerek, Canvas kullanarak atom spin animasyonu oluşturabilirsiniz:

  1. Yeni bir Android projesi oluşturun.
  2. Projenizin activity_main.xml dosyasını açın ve aşağıdaki kodu ekleyin:

“`xml

<SurfaceView
    android:id="@+id/surfaceView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />


“`

  1. Projenizin MainActivity.java dosyasını açın ve aşağıdaki kodu ekleyin:

“`java
package com.example.atomspinanimation;

import android.app.Activity;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class MainActivity extends Activity implements SurfaceHolder.Callback {

private SurfaceView surfaceView;
private SurfaceHolder surfaceHolder;
private Paint paint;
private float radius;
private float angle;
private boolean running;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
    surfaceHolder = surfaceView.getHolder();
    surfaceHolder.addCallback(this);

    paint = new Paint();
    paint.setColor(Color.WHITE);
    paint.setStrokeWidth(5);

    radius = 100;
    angle = 0;
    running = true;
}

@Override
public void surfaceCreated(SurfaceHolder holder) {
    new Thread(new Runnable() {
        @Override
        public void run() {
            while (running) {
                Canvas canvas = surfaceHolder.lockCanvas();
                canvas.drawColor(Color.BLACK);

                float x = (float) (radius * Math.cos(angle));
                float y = (float) (radius * Math.sin(angle));

                canvas.drawCircle(x, y, 10, paint);

                surfaceHolder.unlockCanvasAndPost(canvas);

                angle += 0.1;
            }
        }
    }).start();
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
    running = false;
}

}
“`

  1. Projenizi çalıştırın. Atom spin animasyonunun ekranda görüntülendiğini göreceksiniz.

Yöntem 2: View Kullanarak Atom Spin Animasyonu Oluşturma

View, Android platformunda kullanıcı arayüzü öğeleri oluşturmak için kullanılan bir sınıftır. Bu sınıfı kullanarak, atom spin animasyonunu bir özel görünüm olarak oluşturabilirsiniz. Aşağıdaki adımları izleyerek, View kullanarak atom spin animasyonu oluşturabilirsiniz:

  1. Yeni bir Android projesi oluşturun.
  2. Projenizin activity_main.xml dosyasını açın ve aşağıdaki kodu ekleyin:

“`xml

<com.example.atomspinanimation.AtomSpinView
    android:id="@+id/atomSpinView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />


“`

  1. Projenizin AtomSpinView.java dosyasını oluşturun ve aşağıdaki kodu ekleyin:

“`java
package com.example.atomspinanimation;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class AtomSpinView extends View {

private Paint paint;
private float radius;
private float angle;
private boolean running;

public AtomSpinView(Context context) {
    super(context);
    init();
}

public AtomSpinView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

public AtomSpinView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    init();
}

private void init() {
    paint = new Paint();
    paint.setColor(Color.WHITE);
    paint.setStrokeWidth(5);

    radius = 100;
    angle = 0;
    running = true;

    new Thread(new Runnable() {
        @Override
        public void run() {
            while (running) {
                postInvalidate();

                try {
                    Thread.sleep(10);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }).start();
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    canvas.drawColor(Color.BLACK);

    float x = (float) (radius * Math.cos(angle));
    float y = (float) (radius * Math.sin(angle));

    canvas.drawCircle(x, y, 10, paint);

    angle += 0.1;
}

@Override
protected void onDetachedFromWindow() {
    super.onDetachedFromWindow();
    running = false;
}

}
“`

  1. Projenizi çalıştırın. Atom spin animasyonunun ekranda görüntülendiğini göreceksiniz.

Yöntem 3: Lottie Animasyon Kütüphanesi Kullanarak Atom Spin Animasyonu Oluşturma

Lottie, Android platformunda animasyon oluşturmak için kullanılan bir kütüphanedir. Bu kütüphaneyi kullanarak, atom spin animasyonunu kolayca oluşturabilirsiniz. Aşağıdaki adımları izleyerek, Lottie animasyon kütüphanesi kullanarak atom spin animasyonu oluşturabilirsiniz:

  1. Lottie animasyon kütüphanesini projenize ekleyin.
  2. Projenizin activity_main.xml dosyasını açın ve aşağıdaki kodu ekleyin:

“`xml

<com.airbnb.lottie.LottieAnimationView
    android:id="@+id/lottieAnimationView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:lottie_rawRes="@raw/atom_spin" />


“`

  1. Projenizin raw dizinine atom_spin.json dosyasını ekleyin. Bu dosyayı Lottie animasyon kütüphanesinin resmi web sitesinden indirebilirsiniz.
  2. Projenizi çalıştırın. Atom spin animasyonunun ekranda görüntülendiğini göreceksiniz.

Faydalı Siteler ve Dosyalar


Yayımlandı