这里发生了什么?它看起来很奇怪,改变它导致奇怪的行为,getTranslation X 但setTranslation Y ?这是一个错误吗?这仅适用于未在X轴上转换的视图吗?他们为什么不使用ViewCompat.postInvalidateOnAnimation(view)
private static void tickleInvalidationFlag(View view) { final float x = ViewCompat.getTranslationX(view); ViewCompat.setTranslationY(view, x + 1); ViewCompat.setTranslationY(view, x); } private void updateOffsets() { ViewCompat.offsetTopAndBottom(mView, mOffsetTop - (mView.getTop() - mLayoutTop)); ViewCompat.offsetLeftAndRight(mView, mOffsetLeft - (mView.getLeft() - mLayoutLeft)); // Manually invalidate the view and parent to make sure we get drawn pre-M if (Build.VERSION.SDK_INT < 23) { tickleInvalidationFlag(mView); final ViewParent vp = mView.getParent(); if (vp instanceof View) { tickleInvalidationFlag((View) vp); } } }