首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缩放ObjectAnimator后视图宽度未更改

缩放ObjectAnimator后视图宽度未更改
EN

Stack Overflow用户
提问于 2013-12-31 22:15:21
回答 2查看 4.3K关注 0票数 4

宽度不应该在我设置scaleX属性的动画之后改变吗?我注意到当我减小视图宽度时,可点击区域缩小了,所以我猜宽度必须调整。但是当我调用view.getWidth()时,我仍然会得到初始值。

代码语言:javascript
复制
        Log.d(TAG, "" + getWidth()); //Initial value
        setPivotX(getWidth() / 2);
        ObjectAnimator animator = ObjectAnimator.ofFloat(this, View.SCALE_X, 1.0f, 0.8f);
        animator.setInterpolator(new DecelerateInterpolator(1));
        animator.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {

            }

            @Override
            public void onAnimationEnd(Animator animation) {
                Log.d(TAG, "" + getWidth()); //Initial value :(
            }

            @Override
            public void onAnimationCancel(Animator animation) {

            }

            @Override
            public void onAnimationRepeat(Animator animation) {

            }
        });
        animator.start();
EN

回答 2

Stack Overflow用户

发布于 2013-12-31 22:21:20

我认为视图动画不会改变这些属性(大小、边界或可见性)。在动画结束时,您必须自己完成此操作。

下面是:http://developer.android.com/guide/topics/graphics/view-animation.html

注意:无论动画如何移动或调整大小,容纳动画的视图的边界都不会自动调整以适应它。即使如此,动画仍将绘制在其视图的边界之外,并且不会被剪切。但是,如果动画超出父视图的边界,则会发生剪辑。

票数 0
EN

Stack Overflow用户

发布于 2016-07-18 19:51:12

没有机会使用VPA设置宽度或高度的动画效果,可以通过value-property-animator compat:https://stackoverflow.com/a/38435848/1835650尝试一下

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

https://stackoverflow.com/questions/20858698

复制
相关文章

相似问题

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