마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 애니메이션 이동 질문입니다.

0 추천

현재는 업을 누르면 저 빨간 포인트가 39까지 쭉 올라갑니다 

다운을 누르면 다시 1로 내려가고요

업을 누르면 한칸씩 올라가고 또 업을 누르면  한칸씩 올라가고 다운을 누르면 한칸씩 내려가는걸 해보고싶습니다.

전혀 감이 잡히지않아 이렇게 글을 올려봅니다.

package org.myjob;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;


public class MyJob extends AppCompatActivity {

    private ImageView image;
    private Button button1, button2;
    private Animation up, down;

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        image = (ImageView) findViewById(R.id.image);

        button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setAnimation(up);
            }
        });
        button2 = (Button) findViewById(R.id.button2);

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setAnimation(down);
            }
        });


        /* anim 폴더 안에 정의되어 있는 애니메이션 액션 정보를 로딩합니다. */
        up = AnimationUtils.loadAnimation(this, R.anim.up);
        down = AnimationUtils.loadAnimation(this, R.anim.down);

    }


    private void setAnimation(Animation animation) {

        animation.setFillAfter(true); //anmation 후에도 그대로 있도록 한다.

        animation.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationEnd(Animation animation) {
            }

            @Override
            public void onAnimationRepeat(Animation animation) {
            }

            @Override
            public void onAnimationStart(Animation animation) {
            }
        });

        image.startAnimation(animation);

    }

}

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--up.xml-->
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromYDelta="-10"
        android:toYDelta="-95%p"
        android:duration="1000"  />

</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">
    <!--down.xml-->
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromYDelta="-90%p"
        android:toYDelta="0"
        android:duration="1000"  />
</set>

 

구리시인 (250 포인트) 님이 2018년 3월 22일 질문
구리시인님이 2018년 3월 22일 수정

1개의 답변

0 추천
 
채택된 답변
objectanimator를 키워드로 검색하셔서 작업해보세요
설춘식 (5,250 포인트) 님이 2018년 3월 23일 답변
구리시인님이 2018년 3월 23일 채택됨
네 그렇습니다.
레이아웃에 id도 설정은 해놨습니다.
여기다 댓글로하면 제가 실시간으로 봐드리기가 어려운데 혹시 google 행아웃쓰시나요?
써본적은 없지만 배우기위해서라면 써보겠습니다
gmail email주소 알려주시면 추가해서 질문있으실때 알려드릴께요
ghkstjr18 입니다!
...