ประกาศ - บทความนี้เก่าแล้วนะครับ แนะนำให้ใช้ ObjectAnimator จากบทความนี้แทนครับ ^^ [Android Code] มาทำความรู้จักกับ Object Animator กันดีกว่า~!
ภาคต่อจากบทความเมื่อวานที่เกริ่นเรื่อง Animation กันไปแล้ว แต่คราวนี้เป็นการเรียกใช้คลาส AlphaAnimation กันบ้าง ซึ่งคลาสนี้ก็มีไว้สำหรับการควบคุม Alpha โดยเฉพาะ
มีแค่นั้นแหละสำหรับคลาสนี้ (น้อยกว่าคลาส Animation อีก)
Main.java
อืม...จะอธิบายอะไรดีล่ะ มันนิดเดียวเอง...
แค่สร้างคลาส AlphaAnimation แล้วกำหนดค่า โดยคลาส AlphaAnimation จะให้กำหนดค่า Alpha เริ่มต้น และค่า Alpha สุดท้าย สำหรับค่า Alpha ที่ใช้กำหนดจะเป็นตัวแปรแบบ Float โดยจะมีค่าตั้งแต่ 0 ถึง 1 ซึ่งก็หมายถึงค่า Alpha ตั้งแต่ 0% ถึง 100%
อย่างคำสั่ง
package app.akexorcist.alphaanimation;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.Button;
import android.widget.ImageView;
import android.app.Activity;
public class Main extends Activity {
ImageView imgLogo;
Animation anim;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imgLogo = (ImageView)findViewById(R.id.imgLogo);
Button btnAlpha = (Button)findViewById(R.id.btnAlpha);
btnAlpha.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
if(imgLogo.getVisibility() == View.VISIBLE) {
anim = new AlphaAnimation(1, 0);
anim.setDuration(500);
imgLogo.startAnimation(anim);
imgLogo.setVisibility(View.INVISIBLE);
} else {
anim = new AlphaAnimation(0, 1);
anim.setDuration(500);
imgLogo.startAnimation(anim);
imgLogo.setVisibility(View.VISIBLE);
}
}
});
}
}
อืม...จะอธิบายอะไรดีล่ะ มันนิดเดียวเอง...
แค่สร้างคลาส AlphaAnimation แล้วกำหนดค่า โดยคลาส AlphaAnimation จะให้กำหนดค่า Alpha เริ่มต้น และค่า Alpha สุดท้าย สำหรับค่า Alpha ที่ใช้กำหนดจะเป็นตัวแปรแบบ Float โดยจะมีค่าตั้งแต่ 0 ถึง 1 ซึ่งก็หมายถึงค่า Alpha ตั้งแต่ 0% ถึง 100%
อย่างคำสั่ง
anim = new AlphaAnimation(1, 0);
ก็จะเป็นการให้เปลี่ยน Alpha จาก 100% ไป 0%
และ
ก็จะเป็นการให้เปลี่ยน Alpha จาก 100% ไป 0%
และ
anim = new AlphaAnimation(0, 1);
ก็จะเปลี่ยน Alpha จาก 0% ไป 100% นั่นเอง โดยกำหนดระยะเวลาของ Animation เป็น 0.5 วินาที
ก็จะเปลี่ยน Alpha จาก 0% ไป 100% นั่นเอง โดยกำหนดระยะเวลาของ Animation เป็น 0.5 วินาที
ตัวอย่างนี้ก็คล้ายกับบทความเก่านั่นแหละ ที่จะให้กดปุ่มแล้วภาพจางหายไป พอกดอีกทีภาพก็โผล่ขึ้นมา [Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส Animation
AndroidManifest.xml
สำหรับผู้ที่หลงเข้ามาอ่านคนใดต้องการไฟล์ตัวอย่าง ดาวน์โหลดได้จาก
บทความที่เกี่ยวกับคลาส Animation
[Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส Animation
[Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส RotateAnimation
[Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส ScaleAnimation
[Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส TranslateAnimation
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/btnAlpha"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="Alpha" />
<ImageView
android:id="@+id/imgLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/samplelogo" />
</RelativeLayout>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.akexorcist.alphaanimation"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Main"
android:label="@string/title_activity_main"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
แหล่งที่มาของภาพโลโก้
บทความที่เกี่ยวกับคลาส Animation
[Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส Animation
[Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส RotateAnimation
[Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส ScaleAnimation
[Android Code] สร้างการเคลื่อนไหวง่ายๆ ด้วยคลาส TranslateAnimation