我通过扩展ViewGroup创建了一个自定义viewGroup,但是即使我可以访问LayoutParams,我似乎也无法为该对象使用setMargins属性。

最佳答案

如果您可以访问LayoutParams(不是null),请尝试将其强制转换为MarginLayoutParams。大多数LayoutParams(例如LinearLayout.LayoutParamsRelativeLayout.LayoutParams扩展MarginLayoutParams

MarginLayoutParams params = (MarginLayoutParams) getLayoutParams();
params.setMargins(left, top, right, bottom);
requestLayout();

10-06 01:28