Tôi gặp sự cố lạ với số AlphaAnimation
. Nó được cho là chạy liên tục khi xử lý AsyncTask
được gọi.Hoạt ảnh không bắt đầu cho đến khi cập nhật giao diện người dùng hoặc sự kiện chạm
Tuy nhiên, lần đầu tiên trình xử lý được gọi trong Activity
, hoạt ảnh sẽ không bắt đầu trừ khi tôi chạm vào màn hình hoặc nếu giao diện người dùng được cập nhật (bằng cách nhấn nút trình đơn của điện thoại chẳng hạn).
Phần lạ là khi hoạt ảnh đã chạy ít nhất một lần, nó sẽ bắt đầu không có vấn đề nếu trình xử lý được gọi lại.
Đây là những gì mã trông giống như:
// AsyncTask handler
public void onNetworkEvent()
{
this.runOnUiThread(new Runnable() {
@Override
public void run()
{
flashScreen(Animation.INFINITE);
}
});
}
// Called method
private void flashScreen(int repeatCount)
{
final View flashView = this.findViewById(R.id.mainMenuFlashView);
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
alphaAnimation.setRepeatCount(repeatCount);
alphaAnimation.setRepeatMode(Animation.RESTART);
alphaAnimation.setDuration(300);
alphaAnimation.setInterpolator(new DecelerateInterpolator());
alphaAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation)
{
flashView.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationEnd(Animation animation)
{
flashView.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) { }
});
flashView.startAnimation(alphaAnimation);
}
tôi đã nhận thấy rằng runOnUIThread
là không cần thiết (kết quả tương tự xảy ra nếu tôi không sử dụng nó), nhưng tôi muốn giữ nó như tôi không trên chuỗi giao diện người dùng.
Bất kỳ ý tưởng nào về điều gì có thể gây ra điều này?
Quá ít mã để hiểu chuỗi cuộc gọi của bạn là gì. Bạn có thể đăng một phần xung quanh việc thực thi Asynctask không? Ngoài ra, bạn đã thử đăng nhập mục nhập vào các phương pháp có liên quan để xem điều gì đang xảy ra chưa? – ilomambo
Hãy thử trì hoãn hoạt ảnh sau vài giây lần đầu tiên. Đây có thể là trường hợp khi cố gắng chạy hoạt ảnh trước khi chế độ xem sẵn sàng. –