DANH MỤC TÀI LIỆU
Tìm hiểu về animations trong hệ điều hành Android
VŨ THANH TÚ
ĐH CÔNG NGHỆ, ĐHQG HÀ NỘI
Android
Animations
_____________
HÀ NI, 05/ 2012
MC LC Trang
Tng quan ..................................................................................................................................................... 4
Phn 1. Frame-by-Frame Animation ........................................................................................................... 4
1.1. Ví d v frame-by-frame animation ................................................................................................ 4
1.2. To Activity ....................................................................................................................................... 5
1.3. Thêm Animation cho Activity .......................................................................................................... 5
Phn 2. Layout Animation ........................................................................................................................... 7
2.1. Các kiểu Tweening Animation cơ bản ............................................................................................. 8
2.2. Ví d v layout animation ................................................................................................................ 8
2.3. To Activity và ListView .................................................................................................................. 9
2.4. To animation cho ListView .......................................................................................................... 10
Phn 3. View Animation ............................................................................................................................ 12
3.1. Tìm hiu View Animation .............................................................................................................. 12
3.2. Thêm Animation ............................................................................................................................. 14
3.3. S dụng camera đ cm nhận được đ sâu .................................................................................. 16
3.4. Lp AnimationListener .................................................................................................................. 17
3.5. Mt s chú ý v ma trn biến đổi .................................................................................................. 18
Tài liu tham kho ..................................................................................................................................... 20
Tng quan
Animation (có th dch hot nh) cho phép mt đối tượng trên màn hình th thay đổi màu
sc, v trí, kích thước hay hướng ca theo thi gian. Animation trong Android rt thiết thc,
vui nhộn và đơn giản vì vậy chúng được s dng rất thường xuyên.
Android 2.3 các phiên bản trước đó hỗ tr ba kiu animation: frame-by-frame animation,
layout animation, view animation (hai kiu sau thuc loi tweening animation).
Android 3.0 các bản sau đó đã tăng cường kh năng Animation trong Android bằng vic gii
thiu kh năng tạo hiu ứng động cho các thuc tính ca giao diện người dùng (UI).
Trong tài liu y, chúng ta s lần lượt tìm hiu v ba kiu animation frame-by-frame
animation, layout animation, view animation bng việc phân ch chúng sâu hơn thông qua
các ví d.
Phn 1. Frame-by-Frame Animation
Frame-by-frame animation quá trình đơn giản, hin th mt chui các hình nh liên tiếp
trong các khong thi gian ngắn để to ra hiu ng cuối cùng đối tượng di chuyn hoc thay
đổi. Nó cũng giống như hoạt động ca các máy chiếu phim vy.
1.1. d v frame-by-frame animation
Hình bên mô t các vòng tròn có cùng kích c vi mt qu
bóng màu trên mi vòng tròn. Chúng ta th to ra
mt chuỗi các vòng tròn như vy vi qu bóng đt ti các
v trí khác nhau theo chu vi ca vòng tròn. Khi bn s
dng nhiều khung hình như trên, bạn th to ra hiu
ng giống như qu bóng di chuyn xung quanh vòng tròn
vy. Trong phần dưới đây, chúng ta s dng tám hình nh
như vậy chúng tên dng colored-ballN, được đặt
trong thư mục /res/drawable.
1.2. To Activity
XML Layout cho ví d
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView android:id="@+id/textViewId1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Debug Scratch Pad"
/>
<Button
android:id="@+id/startFAButtonId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Start Animation"
/>
<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Activity để load ImageView
public class FrameAnimationActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.frame_animations_layout);
}
}
Bn có th gi activity này qua một intent như đoạn mã dưới đây,
Intent intent = new Intent(inActivity, FrameAnimationActivity.class);
inActivity.startActivity(intent);
1.3. Thêm Animation cho Activity
Trong Android, vic thc hin frame-by-frame animation được thông qua một class trong gói đồ
ha tên AnimationDrawable. Class Drawable cho phép animation bng cách yêu cu
container hoc view ca gi một class Runnable bn v li Drawable bng cách s dng
mt tp các tham s khác nhau. Chú ý rng, bn không cn biết chi tiết nhng th hin bên trong
nếu s dng class AnimationDrawable.
Để s dụng class AnimationDrawable, đầu tiên chúng ta tạo file XML định nghĩa danh sách các
frame đặt trong /res/drawable
<?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/colored_ball1" android:duration="50" />
<item android:drawable="@drawable/colored_ball2" android:duration="50" />
<item android:drawable="@drawable/colored_ball3" android:duration="50" />
<item android:drawable="@drawable/colored_ball4" android:duration="50" />
<item android:drawable="@drawable/colored_ball5" android:duration="50" />
<item android:drawable="@drawable/colored_ball6" android:duration="50" />
<item android:drawable="@drawable/colored_ball7" android:duration="50" />
<item android:drawable="@drawable/colored_ball8" android:duration="50" />
<item android:drawable="@drawable/colored_ball9" android:duration="50" />
</animation-list>
Các tag trong animation-list v bn s được chuyển thành các đối tượng AnimationDrawable
đại din cho tp các hình ảnh. Sau đó, cần thiết lập Drawable y như background resource
cho ImageView,
view.setBackgroundResource(Resource.drawable.schemasframe_animation);
Sau khi đã thiết lp, bn có th truy cập đối tượng AnimationDrawable như sau
Object backgroundObject = view.getBackground();
AnimationDrawable ad = (AnimationDrawable)backgroundObject;
Khi đã đối tượng AnimationDrawable, ta th s dụng hai phương thức start() stop() đ
bắt đầu hay kết thúc animation. Hai phương thc quan trng khác là setOneShot() (chy
animation mt lần sau đó dừng li) addFrame() (thêm mt frame mi s dng một đối
ng Drawable thiết lp thi gian hin th của nó). Đặt chúng cnh nhau trong một đoạn mã
hoàn chỉnh như sau
public class FrameAnimationActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.frame_animations_layout);
this.setupButton();
}
private void setupButton()
{
Button b = (Button)this.findViewById(R.id.startFAButtonId);
b.setOnClickListener(
new Button.OnClickListener(){
public void onClick(View v)
{
parentButtonClicked(v);
}
});
}
thông tin tài liệu
Kiến thức cơ bản về animation trong hệ điều hành android
Mở rộng để xem thêm
từ khóa liên quan
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×