我有一些需要在程序中设置边距的视图(从applyWindowInsets侦听器),但是视图似乎忽略了我用代码设置的任何边距,即使我没有对边距进行动画处理。
我可以很好地设置填充,但我无法仅使用填充来完成我需要的工作。
问题似乎与MotionLayout有关,因为如果它是ConstraintLayout,则运行良好。
我一直在使用这个util方法。
public static void addTopMargin(View v, int margin) {
((ViewGroup.MarginLayoutParams) v.getLayoutParams()).topMargin += margin;
}