在我正在开发的应用程序的一个片段中,我让用户创建各种chips,每个芯片代表一个选项。我能够制作动画筹码创建。
现在,当用户点击芯片时,我将其从组中删除。我能够将自定义动画与删除关联(请参阅gif),但是当删除“中间筹码”时,动画结束时,右侧的筹码突然移动左侧。
布局:
<HorizontalScrollView android:layout_width="match_parent" android:layout_height="@dimen/horizontal_scroll_height" android:scrollbars="none"> <com.google.android.material.chip.ChipGroup android:id="@+id/rouletteChipList" style="@style/Widget.MaterialComponents.ChipGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingStart="@dimen/chip_horizontal_margin" android:paddingEnd="@dimen/chip_horizontal_margin" app:chipSpacing="@dimen/chip_spacing" app:singleLine="true"> </com.google.android.material.chip.ChipGroup> </HorizontalScrollView>
芯片删除:
private void removeChip(final Chip chip) { @SuppressWarnings("ConstantConditions") final ChipGroup optionsList = getView().findViewById(R.id.ChipList); // Remove the chip with an animation if (chip == null) return; final Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.chip_exit_anim); chip.startAnimation(animation); chip.postDelayed(new Runnable() { @Override public void run() { optionsList.removeView(chip); } }, 400); }
芯片布局:
,当删除“中间筹码”时,筹码平滑地向左移动。我尝试了几件事,但是没有运气。<?xml version="1.0" encoding="utf-8"?> <com.google.android.material.chip.Chip xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/placeholder" android:textAlignment="center" app:chipBackgroundColor="@color/grayTranslucent" app:rippleColor="?colorAccent" />
我想要一个平滑的动画
在我正在开发的应用程序的一个片段中,我让用户创建各种芯片,每个芯片代表一个选择。我能够为芯片创建制作动画。现在,当用户点击芯片时,...
如果您的意思是这样的