Android Media and Animation 7

สร้าง project ใหม่ MyApp4 วาดการ์ตูน เมื่อกดปุ่ม walk แล้วการ์ตูนเดินออกไปข้างหน้า

ต้องนำภาพการ์ตูนตามท่าเดิน มา 6 ภาพต่อกัน

MainActivity.java
package com.example.myapp4;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity implements OnClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btWalk=(Button)findViewById(R.id.button1);
btWalk.setOnClickListener(this);

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.button1:
ImageView iv=(ImageView)findViewById(R.id.imageView1);
iv.setBackgroundResource(R.drawable.cartoon);
AnimationDrawable ad=(AnimationDrawable)iv.getBackground();
ad.start();
Animation a=AnimationUtils.loadAnimation(this, R.anim.walk);
iv.startAnimation(a);
break;
}
}
}
------------------------------
cartoon.xml     สร้าง folder เก็บภาพการ์ตูน c1-c6
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/c1" android:duration="200"/>
<item android:drawable="@drawable/c2" android:duration="200"/>
<item android:drawable="@drawable/c3" android:duration="200"/>
<item android:drawable="@drawable/c4" android:duration="200"/>
<item android:drawable="@drawable/c5" android:duration="200"/>
<item android:drawable="@drawable/c6" android:duration="200"/>
</animation-list>
---------------------------------------
walk.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate android:fromXDelta="0" android:toXDelta="300"  เดินจาก 0-300
android:repeatCount="infinite"
android:duration="7000" ภายในระยะเวลา 7000
android:interpolator="@android:anim/linear_interpolator"
/>
</set>

----------------------------------------
acitivity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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:background="#ffffff"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello_Meow" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView1"
android:layout_marginTop="74dp"
android:layout_toRightOf="@+id/imageView1"
android:text="Walk" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="81dp"
/>

</RelativeLayout>

------------------Picture 2014-03-08 15_16_33 Picture 2014-03-08 15_17_11

รูปภาพการ์ตูน คือ c1,c2,c3,c4,c5,c6 ชื่อภาพตัวเล็ก นามสกุลต้องเป็น png

Picture 2014-03-08 15_17_52 Picture 2014-03-08 15_18_07 Picture 2014-03-08 15_18_21

Bookmark the permalink.

Comments are closed.