gpt4 book ai didi

android - Imageview 之外的 Image 的 TranslateAnimation 剪切

转载 作者:太空狗 更新时间:2023-10-29 14:30:17 25 4
gpt4 key购买 nike

我在图像移动后使用 TranslateAnimation 使图像居中,问题是如果图像的一部分在动画开始时位于 View 之外,则在动画期间将不可见:

我的代码:

        TranslateAnimation trans = new TranslateAnimation(0, deltaX, 0,
deltaY);
trans.setDuration(250);
trans.setInterpolator(new AccelerateInterpolator(1.0f));
this.startAnimation(trans);

编辑:

通过先将图像居中然后将动画从其原始位置绘制到中心来解决它,如下所示:

        setVisibility(INVISIBLE);
//A void that centers the image inside the view
center(true, true);
TranslateAnimation trans = new TranslateAnimation(-deltaX, 0,-deltaY, 0);
trans.setDuration(250);
trans.setInterpolator(new AccelerateInterpolator(1.0f));
this.startAnimation(trans);
setVisibility(VISIBLE);

最佳答案

据我了解,android 不会绘制屏幕上不可见的 View 部分。将动画应用于 View 时,只有像素会移动,而 View 仍处于旧位置,这应该是问题所在,因为只有图像的可见像素才会移动。

我的想法是添加一个动画监听器并覆盖 animationStart 方法并手动将 View 添加到正确的位置,或者您也可以在调用开始动画之前尝试这样做。这可能有效。

关于android - Imageview 之外的 Image 的 TranslateAnimation 剪切,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7469880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com