10 tháng 8, 2013

Lập trình Android: Bài 11

Hôm nay Long sẽ hướng dẫn các bạn 1 chủ đề thú vị không còn nhàm chán như có nhàm chán như các chủ đề trước đâu nhé, đó làm 1 ảnh động hiển thị trên activity
các bạn đã biết ImageView là một đối tượng thường dùng để hiển thị hình ảnh trong ứng dụng. Để thiết lập 1 hình ảnh thì vô cùng đơn giản.
code:  "android:background"@drawable/..<tên hình ảnh>.."
hoặc một vài cách khác thiết lập từ trong class kế thừa đối tượng Activity
Và tất nhiên việc này là vô cùng chán ngắc nên bây h để làm cho ứng dụng của các bạn sinh động hơn, Long sẽ hướng dẫn bạn làm một cái ảnh động bằng cách load nhiều hình ảnh nhé.
Là tất nhiên khi kể tới ảnh động ta phải hiểu ảnh động là gì?
ảnh động đơn giản là gồm nhiều hình ảnh được vẽ lên trên cùng một khung theo thời gian quy định và tất nhiên các bức ảnh này có có một quy luật gì chung
sự thay đổi giữa các bức ảnh là ít mới cho người xem cảm nhận được cái hay của ảnh động  và tất nhiên thiết kế ra các bức ảnh sử dụng trong ảnh động là khó.
Tuy nhiên ngoài các này ra chung ta còn có cách khác là lấy các bức ảnh từ ảnh các ảnh động có sẵn thường là đuôi .gif
Hướng dẫn tách ảnh từ ảnh .gif tại topic: http://android.vn/threads/23198/

------------------------------------------------------------------------------
Sau khi có một loạt các hình ảnh để sử dụng trong ảnh động
ta cần phải tạo 1 xml riêng cho đối tượng animation
đơn giản như sau:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myprogress"
    android:oneshot="false" >

    <item
        android:drawable="@drawable/a11"
        android:duration="150"/>
    <item
        android:drawable="@drawable/a1"
        android:duration="150"/>
    <item
        android:drawable="@drawable/a2"
        android:duration="150"/>
    <item
        android:drawable="@drawable/a3"
        android:duration="150"/>
   .........

</animation-list>
mỗi cặp thẻ  <item>  là một bức ảnh trong chuỗi ảnh động
<<< android:drawable="@drawable/a3" là nguồn bức ảnh
<<< android:duration="150"là thời gian để bức ảnh này hiển thị (150 = 0,15 giây)
-------------------------
sau đó ta đăng ký thiết lập animation này cho đối tượng ImageView hiển thị trong lúc ứng dụng chạy bằng câu lênh (nằm trong xml) như sau:
android:src="@drawable/my_animation"
my_animation.xml là tên tập tin xml của animation ở trên
đặt trong thư mục drawable
-------------------------------------------
Để truyền lệnh khởi chạy animation này ta phải lấy đối tượng để sử dụng như sau:
AnimationDrawable frameAnimation = (AnimationDrawable) progress.getDrawable();
“progress” ở đây chính là đối tượng ImageView được lầy bằng:
progress = (ImageView) findViewById(R.id.im);
frameAnimation.start(); để bắt đầu chạy animation
frameAnimation.stop(); để dừng animation
ngoài ra các bạn có thể mày mò tìm tòi thêm các phương thức của đối tượng này nhé!
---------------------------------------------------------------------------
Đây là 1 bài demo về chạy animation trên activity
http://android.vn/threads/24710/
mời các bạn cùng xem

Không có nhận xét nào:

Đăng nhận xét