Java 视图的animate()工作不正常
我想创造一个这样的效果: 左下角的圆将移动到右上角的圆 我试图通过以下方式实施: 1-通过以下方式获取右上圆的坐标: (我试过这两个) 第一种方法:Java 视图的animate()工作不正常,java,android,animation,Java,Android,Animation,我想创造一个这样的效果: 左下角的圆将移动到右上角的圆 我试图通过以下方式实施: 1-通过以下方式获取右上圆的坐标: (我试过这两个) 第一种方法: relativeLayout_1_x = (int)relativeLayout_1_2.getX() ; relativeLayout_1_y = (int)relativeLayout_1_2.getY(); relativeLayout_2_x = (int)relativeLayout_2_2.getX(); re
relativeLayout_1_x = (int)relativeLayout_1_2.getX() ;
relativeLayout_1_y = (int)relativeLayout_1_2.getY();
relativeLayout_2_x = (int)relativeLayout_2_2.getX();
relativeLayout_2_y = (int)relativeLayout_2_2.getY();
int[] _pos_a = new int[2];
int[] _pos_b = new int[2];
relativeLayout_1_2.getLocationInWindow(_pos_a);
relativeLayout_2_2.getLocationInWindow(_pos_b);
relativeLayout_1_x = _pos_a[0];
relativeLayout_1_y = _pos_a[1];
relativeLayout_2_x = _pos_b[0];
relativeLayout_2_y = _pos_b[1];
第二种方法:
relativeLayout_1_x = (int)relativeLayout_1_2.getX() ;
relativeLayout_1_y = (int)relativeLayout_1_2.getY();
relativeLayout_2_x = (int)relativeLayout_2_2.getX();
relativeLayout_2_y = (int)relativeLayout_2_2.getY();
int[] _pos_a = new int[2];
int[] _pos_b = new int[2];
relativeLayout_1_2.getLocationInWindow(_pos_a);
relativeLayout_2_2.getLocationInWindow(_pos_b);
relativeLayout_1_x = _pos_a[0];
relativeLayout_1_y = _pos_a[1];
relativeLayout_2_x = _pos_b[0];
relativeLayout_2_y = _pos_b[1];
2-通过以下方式设置relativeLayout的动画以移动到该位置:
button_1.animate()
.translationX((float)relativeLayout_1_x)
.translationY((float)relativeLayout_1_y);
但视图没有移动到该位置,而是向下移动:
我没有使用“translationX”,而是尝试使用“.x”,但没有效果
我不知道我的错误是什么。所有的四个圆都在一个线性布局中的相对线中。首先,我认为您将视图设置为不正确的值 换成
button_1.animate()
.translationX((float)relativeLayout_2_x)
.translationY((float)relativeLayout_2_y);
首先,我假设您将视图设置为不正确的值 换成
button_1.animate()
.translationX((float)relativeLayout_2_x)
.translationY((float)relativeLayout_2_y);