【问题标题】:How to call setMargins(); on a custom ViewGroup in android?如何调用 setMargins();在android中的自定义ViewGroup上?
【发布时间】:2016-07-08 15:35:59
【问题描述】:

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

【问题讨论】:

标签: java android layout


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:
    LayoutParams params = new LayoutParams(
            LayoutParams.WRAP_CONTENT,      
            LayoutParams.WRAP_CONTENT);
    
    params.setMargins(left, top, right, bottom);
    yourView.setLayoutParams(params);
    

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      相关资源
      最近更新 更多