Bạn sẽ cần phải sử dụng hình động tweened để thực hiện việc này. Về cơ bản những gì bạn cần làm là có hai đối tượng ImageView, một cho hình ảnh hiện tại và một cho hình ảnh mới. Tạo hai hình ảnh động bởi lệnh Tween để res/anim/fadeout.xml:
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="500"
android:duration="500" />
và res/anim/fadein.xml:
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:startOffset="500"
android:duration="500" />
Sau đó sử dụng một widget ImageSwitcher để chuyển đổi giữa các quan điểm:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
setContentView(ll);
final ImageSwitcher is = new ImageSwitcher(this);
is.setOutAnimation(this, R.anim.fadeout);
is.setInAnimation(this, R.anim.fadein);
ImageView iv1 = new ImageView(this);
iv1.setImageResource(R.drawable.icon);
is.addView(iv1);
is.showNext();
ll.addView(is);
Button b = new Button(this);
ll.addView(b);
b.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
ImageView iv2 = new ImageView(MainActivity.this);
iv2.setImageResource(R.drawable.icon2);
is.addView(iv2);
is.showNext();
}
});
}
Có một loạt các bài viết về my blog về hoạt ảnh được tweened.
Nguồn
2011-06-03 08:09:42
Không hoàn toàn chắc chắn nếu đây là những gì tôi đang tìm kiếm. Tôi đang cố gắng tạo hiệu ứng một màn hình giật gân trong khi ứng dụng tải xuống dữ liệu, vì vậy tôi không chỉ đơn giản là có một hình ảnh tĩnh. Hoạt ảnh sẽ chứa tối thiểu 4 hình ảnh và hoạt ảnh sẽ tự diễn ra - không có tương tác người dùng – tomislav2012
Tôi đã sử dụng nút để giữ mã đơn giản. Bạn có thể sử dụng ImageSwitcher với chuỗi nền để định kỳ thay đổi hình ảnh. –