设置android视图位置没有效果

Posted

技术标签:

【中文标题】设置android视图位置没有效果【英文标题】:Setting android view location has no effect 【发布时间】:2021-05-04 12:59:19 【问题描述】:

我在 RelativeLayout 内部有一个简单的视图,我可以上下动画,以便它在屏幕上滑出和滑出。这每次都有效,除了第一次,动画什么都不做。

这导致我尝试在活动的 onCreate() 方法中手动设置 Y 位置。奇怪的是,这也没有效果。

在完全显示活动之前无法设置视图的 Y 位置是否有某种原因?如果没有,为什么我会看到这种奇怪的行为,有没有办法解决它?

【问题讨论】:

【参考方案1】:

第一次调用它是在视图布局之前。

您可以通过侦听要布置的视图来解决此问题。

view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() 
            @Override
            public void onGlobalLayout() 
                view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                
                // Perform whatever actions you want here
            
        );

【讨论】:

酷,我试试看。当我向上和向下设置一个视图的动画时,布局是否会动态变化,或者它是否只是捕捉到新布局然后将另一个视图设置为动画?

以上是关于设置android视图位置没有效果的主要内容,如果未能解决你的问题,请参考以下文章

Android 设置视图位置 - setY vs setTop

Android中FrameLayout总结

Android:如何将地图视图的缩放级别设置为当前位置周围 1 公里半径?

Android:回收站视图没有滚动到最后一个位置

Android 同时为所有列表视图项设置动画

android 2.2如何实现视图隐藏时的过度效果