问题描述
我在 RelativeLayout 中有一个简单的视图,我向上和向下设置动画以使其在屏幕上滑动。这每次都有效,除了第一次,动画什么都不做。
这导致我尝试在活动的 onCreate() 方法中手动设置 Y 位置。奇怪的是,这也没有效果。
在活动完全显示之前,是否有某种原因无法设置视图的 Y 位置?如果没有,为什么我会看到这种奇怪的行为,有没有办法解决它?
解决方法
您第一次调用它是在视图布局之前。
您可以通过监听要布局的视图来解决此问题。
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
// Perform whatever actions you want here
}
});