Tôi đã vật lộn trong vài ngày về điều này, cuối cùng chỉ quyết định hỏi. Nó rất đơn giản, tôi đã bị thiếu một cái gì đó rất cơ bản.Android - Nhấp nháy hình ảnh bằng hoạt ảnh Alpha phai
Tôi có một trang bố cục XML có hình ảnh được xác định. Tôi có hai trang hoạt hình XML, một để thay đổi alpha từ 0 đến 1 và một từ 1 đến 0 để tạo hiệu ứng "nhấp nháy". Vì vậy, alphaAnimation được định nghĩa trong XML, tôi chỉ cần gọi nó.
Hình ảnh bật lên, nhưng không có hiệu ứng nhấp nháy lặp lại.
public class blinker extends Activity {
//create name of animation
Animation myFadeInAnimation;
Animation myFadeOutAnimation;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.scanning_view);
//grab the imageview and load the animations
ImageView myImageView = (ImageView) findViewById(R.id.blinkingView01);
Animation myFadeInAnimation = AnimationUtils.loadAnimation(null, R.anim.fade_in);
Animation myFadeOutAnimation = AnimationUtils.loadAnimation(null, R.anim.fade_out);
//fade it in, and fade it out.
myImageView.startAnimation(myFadeInAnimation);
myImageView.startAnimation(myFadeOutAnimation);
}
}
Hai bố trí Animation XML trong nguồn Anim:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="50" android:repeatCount="infinite"/>
</set>
Và khác:
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="1000" android:repeatCount="infinite"/>
</set>
bài viết mã XML của bạn. – Wroclai
Xin chào Charlie, hãy yêu người đàn ông của bạn. :) Tôi đã chỉnh sửa bài đăng gốc, được thêm vào trong hai tệp XML (fade_in.xml và fade_out.xml) – Keith