用动画将视图移动到“layout\u alignparentend”

hivapdat  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(271)

我有一个相对的布局,我在其中创建了一个cardview,它的宽度是其父级的一半。我只想把cardview移到它的父级动画的末尾。这是我的密码:

TranslateAnimation animation = new TranslateAnimation(0, 180, 0, 0);
            animation.setDuration(600);
            animation.setFillAfter(true);
            backCard.startAnimation(animation);

此代码在某些屏幕上运行良好,但在其他屏幕上运行不正常。有没有办法用动画将cardview移动到父级相对布局的末尾?

j2datikz

j2datikz1#

你必须得到你的亲戚的终点的坐标。这将根据您的屏幕大小而有所不同。为此,您必须为relativelayout提供一个@+id,并在java中使用findviewbyid()将其作为任何其他视图获取。一旦你有了它,你只需动画视图这些坐标。比如:

int parentEnd = relativeLayout.getWidth();

backCard.animate().translationX(parentEnd).setDuration(600);

这应该让你开始。
也许你需要稍微调整一下这个值。

translationX(parentEnd - (backCard.getWidth() / 2))

,因为从另一个Angular 看,它会将cardview的中间部分设置为relativelayout的末尾,这应该看起来像是右侧的一半。

相关问题