diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/utils/roomview/RoomCPView.java b/BaseModule/src/main/java/com/xscm/moduleutil/utils/roomview/RoomCPView.java index ba0d1955..de60f742 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/utils/roomview/RoomCPView.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/utils/roomview/RoomCPView.java @@ -193,11 +193,21 @@ public class RoomCPView extends FrameLayout { LogUtils.e("onFailed", s); // 确保所有UI操作在主线程中执行 post(() -> { - // 动画失败,隐藏视图 - setVisibility(View.GONE); - anim_cp.setVisibility(View.GONE); - // 继续播放下一个 - loadStartAnimation(); + if (anim_cp != null) { + // 停止头像动画 + stopAvatarAnimation(); + + // 隐藏动画视图和头像 + anim_cp.setVisibility(View.GONE); + avatarContainer1.setVisibility(View.GONE); + + if (isOnece) { + return; + } + // 通知播放完成 + notifyPlaybackComplete(); + loadStartAnimation(); + } }); } }); @@ -752,12 +762,31 @@ public class RoomCPView extends FrameLayout { Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, -0.01f); avatarsFloatUp.setDuration(900); // 增加动画持续时间,使动画更平滑 - avatarsFloatUp.setRepeatCount(Animation.INFINITE); + avatarsFloatUp.setRepeatCount(10); avatarsFloatUp.setRepeatMode(Animation.REVERSE); avatarsAnimationSet.addAnimation(avatarsFloatUp); avatarsParentContainer.startAnimation(avatarsAnimationSet); + // 动画结束后重置位置 + avatarsAnimationSet.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + + } + + @Override + public void onAnimationEnd(Animation animation) { + if (avatarContainer1.getVisibility() == View.VISIBLE) { + avatarContainer1.setVisibility(View.GONE); + } + } + + @Override + public void onAnimationRepeat(Animation animation) { + } + }); + } /** diff --git a/BaseModule/src/main/res/layout/room_view_default_wheat.xml b/BaseModule/src/main/res/layout/room_view_default_wheat.xml index a57609d2..9ff93133 100644 --- a/BaseModule/src/main/res/layout/room_view_default_wheat.xml +++ b/BaseModule/src/main/res/layout/room_view_default_wheat.xml @@ -29,6 +29,22 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> + + + -