我在StartAnimation方法中遇到問題。當我試圖在AlertDialog.Builder中的ImageView上啓動動畫(使用佈局膨脹)時,動畫開始正確,但在第一個「幀」之後,它不會繼續他的cicle。 這是我的代碼:ImageView中的StartAnimation未在AlertDialog中調用
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.loading_dialog, null);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setView(layout);
ImageView img = (ImageView) layout.findViewById(R.id.imgLoadingDialog);
Animation shake = AnimationUtils.loadAnimation(context, R.anim.shake_animation);
img.startAnimation(shake);
return new AlertDialog.Builder(context)
.setView(layout);
這是我animation.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="100"
android:fromDegrees="-20"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="reverse"
android:toDegrees="20" />
我現在明白我的問題是由另一個操作引起的,該操作在mainThread上執行並鎖定我的動畫。我解決了當我在另一個單獨的線程中執行此操作。 – rik194