这是视图,我想以编程方式提供底部边距
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"<!--this thing want to do via java/kotlin code-->
/>
是的,您可以使用编程方式设置margin
ProgressBar view;
RelativeLayout.LayoutParams params = view.getLayoutParams();
int marginInPx = convertDpToPx(20);
params.setMargins(0,0,0,marginInPx);
view.setLayoutParams(params);
private int convertDpToPx(float dp){
DisplayMetrics metrics = getResources().getDisplayMetrics();
return (int)((int)dp * ((float)metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT));
}
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(0, 0, 0, 20);
progressBar.setLayoutParams(layoutParams);
注意:我添加的边距是px,您可能需要以编程方式将其转换为dp。