我看到很多图书馆喜欢 TransitionManager 但不能做我想做的事。
我想像下面的动画一样移动 ImageView https://codepen.io/elmahdim/pen/tEeDn
单击 imageView 后,我想将该图像移动到 id 为“Cart”的按钮
我的布局xml如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="10"
android:id="@+id/mainView"
android:orientation="vertical"
tools:context=".MainActivity">
<ScrollView
android:layout_weight="8"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="0dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:weightSum="5"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/first"
android:background="@color/colorPrimaryDark"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal|center_vertical"
android:gravity="center_vertical|center_horizontal"
android:orientation="vertical"
android:layout_height="wrap_content">
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/americano"
/>
<TextView
android:textSize="25dp"
android:textAlignment="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="1번째"
/>
</LinearLayout>
.....
.....
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_weight="2"
android:layout_height="0dp">
<Button
android:layout_width="wrap_content"
android:text="Cart"
android:id="@+id/Cart"
android:layout_height="wrap_content" />
....
....
</LinearLayout>
在 Activity 上,我尝试使用 TransitionManager 库示例代码 但它没有给我效果。我想要做的是将 imageView 移动到 Button id "Cart"
first= (LinearLayout)findViewById(R.id.first);
first.setOnClickListener(new View.OnClickListener() {
boolean mToRightAnimation;
@Override
public void onClick(View v) {
TransitionManager.beginDelayedTransition(transitionsContainer,
new ChangeBounds().setPathMotion(new ArcMotion()).setDuration(500));
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) first.getLayoutParams();
params.gravity =Gravity.RIGHT | Gravity.BOTTOM;
first.setLayoutParams(params);
}
});
最佳答案
你可以试试https://github.com/matrixdevz/FlyToCartAnimation
您可以在此处找到更多详细信息 http://codezlab.com/add-to-cart-fly-animation/
关于android ImageView如何移动到另一个Layout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52913813/