如何调用setMargins();在Android上的自定义ViewGroup?

时间:2016-07-08 07:27:21

标签: java android layout

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

2 个答案:

答案 0 :(得分:1)

如果您可以访问LayoutParams(它们不是null),请尝试将它们转换为MarginLayoutParams。大多数LayoutParams(例如LinearLayout.LayoutParamsRelativeLayout.LayoutParams延长MarginLayoutParams

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

答案 1 :(得分:0)

LayoutParams params = new LayoutParams(
        LayoutParams.WRAP_CONTENT,      
        LayoutParams.WRAP_CONTENT);

params.setMargins(left, top, right, bottom);
yourView.setLayoutParams(params);

希望它会有所帮助!