我有一些视图需要以编程方式设置一些边距(来自 applyWindowInsets 侦听器),但视图似乎忽略了我用代码设置的任何边距,即使我没有为边距设置动画。
我可以很好地设置填充,但我不能只使用填充来完成我需要的事情。
这个问题似乎与 MotionLayout 有关,因为如果它是一个 ConstraintLayout,它就可以正常工作。
我一直在使用这个 util 方法。
public static void addTopMargin(View v, int margin) {
((ViewGroup.MarginLayoutParams) v.getLayoutParams()).topMargin += margin;
}