6
我知道如何以编程方式设置View
的边距,使用LinearLayout.LayoutParams
和方法setMargins(int, int, int, int)
,但是如何在视图上放置负边距?以编程方式设置负边距
我知道如何以编程方式设置View
的边距,使用LinearLayout.LayoutParams
和方法setMargins(int, int, int, int)
,但是如何在视图上放置负边距?以编程方式设置负边距
访问你的父布局的布局PARAMS和修改它们,只要你喜欢:
ViewGroup.MarginLayoutParams params =
(ViewGroup.MarginLayoutParams)view.getLayoutParams();
params.topMargin = ...; // etc
// or
params.setMargins(...);
你修改的布局后,调用view.requestLayout()
。
使用数学似乎欺骗了我足够的。
ViewGroup.MarginLayoutParams params =
(ViewGroup.MarginLayoutParams)view.getLayoutParams();
params.topMargin = 100 - 200; // -100
我得到的错误:'应该通过解析的像素尺寸而不是资源ID在这里:getResources()。getDimension *( - 100)'当将负整数放入第二行时。 –
将我的解决方法添加为下面的单独答案。 –