프로그래밍 언어/Java

[Android java] 이미지 fade in fade out 애니메이션 주는 방법

happy_life 2022. 3. 8. 15:14

이미지 애니메이션 주는 방법 

안녕하세요 이번에 간단하게 이미지에 애니메이션을 주는 방법을 알아보겠습니다.

 

 

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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity"
    >

    <ImageView
        android:id="@+id/img"
        android:layout_gravity="center"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:src="@drawable/ic_accessibility"
        />

    <LinearLayout
        android:weightSum="2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:layout_marginRight="50dp"
            android:layout_weight="1"
            android:id="@+id/btn_fade_in"
            android:hint="fade in"
            android:backgroundTint="@color/white"
            android:layout_width="100dp"
            android:layout_height="100dp"
            />
        <Button
            android:layout_weight="1"
            android:id="@+id/btn_fade_out"
            android:hint="fade out"
            android:backgroundTint="@color/white"
            android:layout_width="100dp"
            android:layout_height="100dp"
            />

    </LinearLayout>

</LinearLayout>

MainActivity

package com.example.recycleviewexample;


import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import androidx.appcompat.app.AppCompatActivity;



public class MainActivity extends AppCompatActivity
{

    private final String TAG = MainActivity.class.getSimpleName();

    Button btnFadeIn,btnFadeOut;
    ImageView img;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnFadeIn = findViewById(R.id.btn_fade_in);
        btnFadeOut = findViewById(R.id.btn_fade_out);
        img = findViewById(R.id.img);


        //클릭 리스너 설정

        btnFadeIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                img.animate().alpha(1.0f).setDuration(1000);
            }
        });

        btnFadeOut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                img.animate().alpha(0.0f).setDuration(1000);
            }
        });


    }

    //!--end
}

animate()메소드를 사용해주시면 됩니다.

alpha는 투명도 이고 

setDuration은 얼마만에 fade in out이 되는지 시간을 정해주는 것입니다.

 

이처럼 간단하게 animation을 구현할 수 있으니 참고하세요! 

 

 

대표사진 용 사진&amp;nbsp;