Android 以编程方式设置视图的负边距
我知道如何使用Android 以编程方式设置视图的负边距,android,android-layout,android-view,Android,Android Layout,Android View,我知道如何使用LinearLayout.LayoutParams和方法设置页边距(int,int,int,int)以编程方式设置视图的页边距,但如何在视图上设置负页边距?访问父布局的布局参数,并根据需要修改它们: ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams)view.getLayoutParams(); params.topMargin = ...; // etc // or p
LinearLayout.LayoutParams
和方法设置页边距(int,int,int,int)
以编程方式设置视图的页边距,但如何在视图上设置负页边距?访问父布局的布局参数,并根据需要修改它们:
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
用这个
params.setMargins(0,5-10,0,0);
没有
我得到一个错误:应该传递解析的像素维度,而不是这里的资源id:getResources().getDimension*(-100)
当将负整数放入第二行时。val param=(cardSearch.layoutParams as ConstraintLayout.layoutParams)param.topMargin=(-searchHeight/2)-listTotalScrollY cardSearch.requestLayout()
params.setMargins(0,-5,0,0);