본문 바로가기
안드로이드 자바

[Android][JAVA] 이미지 투명 애니메이션 구현하기

by teamnova 2023. 6. 21.

안녕하세요 이번시간에는 이미지 투명도를 설정을 통해 애니메이션을 구현해보겠습니다.

 

위 애니메이션을 구현하기 위해서는 다음과 같은 파일을 만들어줘야 합니다.

생성해야 하는 파일

 

activity_main.xml 파일을 다음과 같이 작성해줍니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <ImageButton
        android:id="@+id/imgBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher_foreground"
        android:background="@android:color/transparent"
        app:tint="#A61935" />

</LinearLayout>

 

alpha.xml 파일을 다음과 같이 작성해줍니다.

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

 

 

MainActivity.java 파일을 다음과 같이 작성해줍니다.

package com.example.stickodetest;
import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageButton;

public class MainActivity extends AppCompatActivity {


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

        ImageButton imgBtn = findViewById(R.id.imgBtn);


        @SuppressLint("ResourceType") final Animation alpha =
                AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);

        imgBtn.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v)
            {
                v.startAnimation(alpha);
            }
        });
    }
    }

 

 

다음은 실행결과 입니다.