티스토리 뷰

  • 간단 애니메이션 사용하기
1
2
3
4
5
1. 스레드 부분에서 또 살펴볼것이다.
 
2. 전형적인 애니메이션 사용 방식은 애니메이션 액션 정보를 XML로 정의 한후 사용
 
3. Animation 객체로 만든 후 뷰를 startAnimation() 메소드를 사용하면 간단하게 애니메이션 동작
cs


  • 동작 과정
1
1. xml 파일에서 미리 정의 한후 -> Animation 객체로 할당(loadAnimation()메소드) -> Animation 객체를 View객체로 할당 (startAnimation() 메소드)
cs

  • Example_Animation 프로젝트 생성

1. main.xml 수정 하기

- 텍스트뷰 , 버튼 추가

2. 오른쪽에서 왼쪽으로 애니메이션 동작되도록 할것이다.

3. 애니메이션 동작 xml로 정의, 동작을 위한 app->res->ResourceDirectory(name: anim 폴더 생성) -> anim 폴더 선택 후 -> new -> animation resourcefile 선택 -> 동작 하는 파일을 만들수 있음(flow.xml 파일 생성) 

4. 이제 flow.xml 파일 수정

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- translate 이동하는것을 말한다
     fromXDelta오른쪽 끝,toXDelta왼쪽끝
     reqpeatCount 는 반복을 의미한다
 
     -->
    <translate
        android:fromXDelta="100%p"
        android:toXDelta="0%p"
        android:duration="1500"
        android:repeatCount="2"
        />
</set>
cs
5. main.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.example.example_animation;
 
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextView;
 
public class MainActivity extends AppCompatActivity {
 
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        final TextView textView = (TextView) findViewById(R.id.textView);
 
        // 어떤 뷰든 애니메이션을 적용 시킬 수 있음.
        final Animation flowanim = AnimationUtils.loadAnimation(this,R.anim.flow);
 
        Button button = (Button)findViewById(R.id.button);
 
        button.setOnClickListener(new TextView.OnClickListener() {
            @Override
            public void onClick(View view) {
                textView.startAnimation(flowanim);
 
            }
        });
 
 
    }
}
cs
  • <실행 결과>




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함