1
본인은 처음에만 의도 한대로 작동하는이 단순 화살표 이미지 회전 애니메이션을 보유하고 있습니다. 두 번째 이후부터 여전히 느린 애니메이션이 아닌 회전을합니다. 여기 이미지 회전 애니메이션이 처음으로 올바르게 작동하는 이유
가 ANIM XML 파일의 코드입니다회전 180
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1500"
android:fromDegrees="0"
android:toDegrees="180"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="0"
android:fillAfter="true"
android:fillEnabled="true"/>
회전 리비어
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1500"
android:fromDegrees="180"
android:toDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="0"
android:fillAfter="true"
android:fillEnabled="true"
/>
카드보기의 이미지보기.
<ImageView
android:id="@+id/creadit_card_next_image"
android:layout_width="@dimen/next_image_size"
android:layout_height="@dimen/next_image_size"
android:layout_marginEnd="@dimen/static_menu_primary_margin"
android:layout_marginTop="16dp"
android:rotation="-90"
android:src="@drawable/ic_navigate_next"
android:tint="@color/colorPrimary"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
자바 코드는 애니메이션을 트리거합니다.
private Animation rotatePlus180;
private Animation rotateMinus180;
private boolean creditDebitCardViewExpanded = true;
rotatePlus180 = AnimationUtils.loadAnimation(this, R.anim.rotate_plus_180);
rotateMinus180 = AnimationUtils.loadAnimation(this, R.anim.rotate_minus_180);
private void onClickCreditDebitCardView() {
creditDebitCardPaymentMethod.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (creditDebitCardViewExpanded) {
expandAnimation(paymentRecyclerView);
creditDebitCardViewExpanded = false;
creditCardNextImage.setAnimation(rotatePlus180);
} else {
collapseAnimation(paymentRecyclerView);
creditDebitCardViewExpanded = true;
creditCardNextImage.setAnimation(rotateMinus180);
CreditDebitLayoutContainer.setPadding(0, 0, 0, padding);
}
}
});
}
어디에서 'rotatePlus/Minus180'을 (를) 설정하고 있습니까? 당신은 그 값을 잃을 수도 있습니다. 나는 정말로 당신이 다른 활동으로 가고 있거나 그들이 잃어 버릴 수있는 일을한다고 말할 수는 없습니다. 이미 그렇게하지 않았다면,'onResume()'에 그것들을 설정해보십시오. – Gary99
'onCreate()'에'rotatePlus/Minus180'을 지정하고 있습니다. 나는 다른 활동으로 가지 않을거야. –