2009-11-26 29 views
7

Tôi gặp sự cố khi áp dụng hoạt ảnh cho Chế độ xem. Tôi đang cố gắng để tải các hình ảnh động từ bên trong constructor của một CursorAdapter, vì vậy tôi có thể thiết lập nó sau đó gán nó cho một số trẻ em trong danh sách.Android Frame by Frame Animation vấn đề về các yếu tố trong CursorAdapter

Trong constructor tôi có:

shineAnimation = AnimationUtils.loadAnimation(ctx, R.anim.news_list_item_shine); 

các hình ảnh động là trong res của tôi/anim dir

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> 
    <item android:drawable="@drawable/shine1" android:duration="200" /> 
    <item android:drawable="@drawable/shine2" android:duration="200" /> 
    <item android:drawable="@drawable/shine3" android:duration="200" /> 
    <item android:drawable="@drawable/shine4" android:duration="200" /> 
    <item android:drawable="@drawable/shine5" android:duration="200" /> 
</animation-list> 

tôi nhận được một ngoại lệ: tên hoạt hình Unknown: animation-list

Trợ giúp sẽ được đánh giá cao

Cảm ơn S

Trả lời

2

Tôi không nghĩ rằng bạn tải AnimationDrawables qua AnimationUtils. AnimationDrawable là một số Drawable nhiều hơn số là Animation. Hãy thử this sample code từ hướng dẫn SDK.

ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image); 
    rocketImage.setBackgroundResource(R.anim.rocket_thrust); 
    rocketAnimation = (AnimationDrawable) rocketImage.getBackground(); 
+0

Hi, Cám ơn trả lời, đó là bạn lại phải không Đánh dấu :) Lý do tôi đã không cố gắng và sử dụng setBackgroundResource là tôi nghi ngờ rằng sẽ làm cho hình ảnh động để chạy như nền cho quan điểm của tôi. Tôi cho rằng tôi có thể giải quyết vấn đề này bằng cách đặt một ImageView trống ở phía trước tất cả các phần tử khác và sử dụng setBackgroundResource() trên đó? – Pandalover

+0

Bạn có thể không phải sử dụng nó như là một nền tảng, nhưng tôi nghĩ rằng bạn phải sử dụng nó như là một Drawable, không phải là một Animation. Hãy thử setImageResource() trên ImageView của bạn thay vì setBackgroundResource() hoặc một cái gì đó. – CommonsWare

Các vấn đề liên quan