首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将视图从Y位置移动到另一个Y位置

如何将视图从Y位置移动到另一个Y位置
EN

Stack Overflow用户
提问于 2020-12-06 17:13:27
回答 1查看 60关注 0票数 3

我有一个按钮,我想做一个动画下去。我做到了,但功能保留在前一个位置(就像按钮移动,但如果我单击它,它不工作,但如果我单击它的前一个位置,它将工作)

Animation logbtn = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.logbtnanim); button.startAnimation(logbtn);

动画代码是这样。

父级是约束布局。

代码语言:javascript
运行
复制
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true">
    <translate
        android:fromYDelta="0"
        android:toYDelta="100"
        android:duration="1000"/>
</set>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-06 18:28:11

首先,如果只有一个动画,则不需要AnimatorSet标记。如果您想要同时播放多个动画,则使用此方法。

其次,您使用的是TranslateAnimation,它没有动画按钮属性,它只移动屏幕上的像素,所以在动画之后,安卓仍然认为视图处于旧位置,这就是为什么它仍然可以点击的原因。

我建议在Java代码中使用ViewPropertyAnimator这样做,如下所示:

代码语言:javascript
运行
复制
button.animate().translationY(...f).duration(1000);

或者ObjectAnimator,它更灵活一些,因为您也可以用xml来完成它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65170827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档