728x90
안녕하세요,
오늘은 AlphaAnimation을 활용하여 텍스트에 페이드 인 / 페이드 아웃 애니메이션을 적용해보도록 하겠습니다.
AlphaAnimation은 안드로이드에서 제공하는 애니메이션 클래스 중 하나로, 뷰(View)의 투명도(Alpha 값)를 조정하여 페이드 인(Fade In) 또는 페이드 아웃(Fade Out) 효과를 구현할 때 사용됩니다.
전체 코드 입니다.
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = findViewById(R.id.textView);
Button btnFadeIn = findViewById(R.id.btnFadeIn);
Button btnFadeOut = findViewById(R.id.btnFadeOut);
btnFadeOut.setVisibility(View.GONE);
// 페이드 인 버튼 클릭 리스너
btnFadeIn.setOnClickListener(view -> {
AlphaAnimation fadeIn = new AlphaAnimation(0.0f, 1.0f);
fadeIn.setDuration(1000); // 1초
textView.setVisibility(View.VISIBLE);
textView.startAnimation(fadeIn);
btnFadeIn.setVisibility(View.GONE);
btnFadeOut.setVisibility(View.VISIBLE);
});
// 페이드 아웃 버튼 클릭 리스너
btnFadeOut.setOnClickListener(view -> {
AlphaAnimation fadeOut = new AlphaAnimation(1.0f, 0.0f);
fadeOut.setDuration(1000); // 1초
textView.startAnimation(fadeOut);
fadeOut.setAnimationListener(new AlphaAnimation.AnimationListener() {
@Override
public void onAnimationStart(android.view.animation.Animation animation) {}
@Override
public void onAnimationEnd(android.view.animation.Animation animation) {
textView.setVisibility(View.INVISIBLE); // 애니메이션 종료 후 숨기기
btnFadeOut.setVisibility(View.GONE);
btnFadeIn.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationRepeat(android.view.animation.Animation animation) {}
});
});
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:background="#FFFFFF">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="텍스트 입니다"
android:textSize="24sp"
android:textColor="#000000"
android:visibility="invisible" />
<Button
android:id="@+id/btnFadeIn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fade In"
android:layout_marginTop="20dp" />
<Button
android:id="@+id/btnFadeOut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fade Out"
android:layout_marginTop="10dp" />
</LinearLayout>
시연 영상입니다.
'안드로이드 자바' 카테고리의 다른 글
[Java][Android] TranslateAnimation을 활용한 텍스트 이동 애니메이션 (0) | 2024.12.18 |
---|---|
[Java][Android] PhotoEditor 라이브러리 사용하여 이미지 편집하기 (2) | 2024.12.14 |
[Java][Android] SeekBar 사용하여 값 나타내기 (0) | 2024.12.08 |
[Java][Android] Material Design Alert Dialog 사용하기 (0) | 2024.12.02 |
[Java][Android] ArrayList와 LinkedList 차이 (0) | 2024.12.01 |