안드로이드

 

 

 

 

class MainActivity
package com.example.choi.ex08_animation;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    public void onClick(View v){
        Intent intent=null;
        switch (v.getId()){
            case R.id.btnStart:
                intent =new Intent(this, FrameActivity.class);
                break;
        }
        startActivity(intent);
    }


}

 

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.choi.ex08_animation.MainActivity">


    <Button
        android:text="애니메이션"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:id="@+id/btnStart"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:onClick="onClick" />


</RelativeLayout>

 

 

babydroum.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- 파일명 : babaydrum.xml -->
<!-- 프레임 애니메이션에 사용할 리소스 목록을 정의 -->
<animation-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- android:drawable 리소스 이름 -->
    <!-- android:duration 애니메이션 시간 -->
        <item
            android:drawable="@drawable/babydrum1"
            android:duration="300"
            />
        <item
            android:drawable="@drawable/babydrum2"
            android:duration="300"
            />
        <item
            android:drawable="@drawable/babydrum3"
            android:duration="300"
            />


</animation-list>

 

 

class FrameActivity
package com.example.choi.ex08_animation;

import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class FrameActivity extends AppCompatActivity {


    //1.변수 선언
    Button btnStart, btnStop;
    ImageView image1;
    AnimationDrawable ani; //애니메이션 객체

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.frame);

        //2.위젯
        btnStart=(Button)findViewById(R.id.btnStart);
        btnStop=(Button)findViewById(R.id.btnStop);
        image1=(ImageView)findViewById(R.id.image1);

        //babydrum.xml에 설정된 애니메이션 정보를 로딩
        ani =(AnimationDrawable)image1.getBackground();
        //이미지뷰에 백그라운드 스레드 추가
        // 뷰.post(스레드 객체)
        image1.post(new Runnable() {
            @Override
            public void run() {
                ani.start();//애니메이션 시작
            }
        });

        //시작 버튼 클릭
        btnStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ani.start(); //애니메이션 시작
            }
        });

        //종료 버튼 클릭
        btnStop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ani.stop(); //애니메이션 멈춤
            }
        });

    }



}

 

frame.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:id="@+id/frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.choi.ex08_animation.FrameActivity">


    <Button
        android:text="시작"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/btnStart" />

    <Button
        android:text="종료"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/btnStart"
        android:layout_toEndOf="@+id/btnStart"
        android:layout_marginLeft="40dp"
        android:layout_marginStart="40dp"
        android:id="@+id/btnStop" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/btnStart"
        android:background="@drawable/babydrum"
        android:layout_marginTop="34dp"
        android:id="@+id/image1" />

</RelativeLayout>

 

 

 

 

about author

PHRASE

Level 60  머나먼나라

고재질족( 高材疾足 ). 뛰어나게 공적이 큰 사람. 진(秦) 나라가 정권을 잃은 것을 사슴(鹿)을 잃은 것에 비유해 그후 군웅이 정권을 다투는 것을 추록(逐鹿)이라 한 것으로, 우수한 인재를 질족(疾足, 발이 빠르다는 말)이라 한 것이다. -사기

댓글 ( 4)

댓글 남기기

작성