반응형
Drawable 드로어블 개체로 움직이는 그라데이션 만들기
안드로이드 스튜디오에서 드로어블 xml파일을 이용해 메인액티미티에서 움직이는 애니메이션을 만들어 볼 것입니다.
일정 시간이 지나면 자동으로 색이 변합니다.
미리 만들어둔 bg_btn.xml, bg_btn2.xml, bg_btn3.xml를 사용할 것이기 때문에 xml 소스 파일은 여기에서 참고해주세요.
드로어블 파일 생성하는 기본적인 방법을 알고 싶으시면 여기서부터 따라와주세요.
STEP 1 app - res - drawable에서 xml를 만들어주세요.
저는 파일명을 android_gradient_list.xml로 지었습니다.
STEP 2 다음 코드를 작성하세요.
■ android_gradient_list.xml
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/bg_btn"
android:duration="4000" />
<item
android:drawable="@drawable/bg_btn2"
android:duration="4000" />
<item
android:drawable="@drawable/bg_btn3"
android:duration="4000" />
</animation-list>
STEP 3 효과를 주고 싶은 개체의 배경으로 지정해주세요.
■ 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"
xmlns:tools="http://schemas.android.com/tools"
android:background="#F9F9F9"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<ImageButton
android:id="@+id/imagebutton"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_margin="24dp"
//배경 지정
android:background="@drawable/android_gradient_list" />
</LinearLayout>
STEP 4 메인액티비티 자바 파일에 다음 코드를 작성하세요 .
■ MainActivity.java
package com.boostcourse.testfortistory;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.ImageButton;
public class MainActivity extends AppCompatActivity {
ImageButton imageButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageButton = findViewById(R.id.imagebutton);
AnimationDrawable animationDrawable = (AnimationDrawable) imageButton.getBackground();
animationDrawable.setEnterFadeDuration(2000);
animationDrawable.setExitFadeDuration(4000);
animationDrawable.start();
}
}
STEP 5 애뮬레이터를 실행시켜서 확인하세요.
반응형
'컴퓨터 공학 > Android' 카테고리의 다른 글
[2020 안드로이드 스튜디오] 리스트뷰(ListView), 어댑터(Adapter) 이해 &기본예제 (394) | 2020.05.16 |
---|---|
[2020 안드로이드 스튜디오] Drawable 드로어블 배경 효과 총정리 (410) | 2020.04.23 |
[2020 안드로이드 스튜디오] Drawable 드로어블 그라데이션 (392) | 2020.04.22 |
[2020 안드로이드 스튜디오] Drawable 드로어블 배경 기본 사용법 (271) | 2020.04.22 |
[2020 안드로이드 스튜디오] 폰트, 배경 색상 쉽게 지정 및 변경하기 (3409) | 2020.04.22 |
댓글