اگر دقت کرده باشید ست کردن Margin به View ها به سادگی نیست و چندین خط کد میخواد میتونید کلاس MyUtils خودتون رو داشته باشید و این متد هارو بهش اضافه کنید تنها موردی که باید رعایت کنید این هست که LayoutParams رو به شیوه مورد نیاز خودتون تغییر بدید
اسنیپ
CODEEXAMPLE+
//https://snip.uncox.com/edit/151/
public static void setMargin(View view, int dp) {
setMargin(view, dp, dp, dp, dp);
}
public static void setMargin(View view, int left, int top, int right, int bottom) {
try {
LayoutParams param = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
param.setMargins(convertToPixels(left), convertToPixels(top), convertToPixels(right), convertToPixels(bottom));
view.setLayoutParams(param);
} catch (Exception e) {
Log.e("MARGIN_ERROR", "MARGIN_ERROR");
e.printStackTrace();
}
}
public static void setMargin(View view, LayoutParams param, int left, int top, int right, int bottom) {
try {
param.setMargins(convertToPixels(left), convertToPixels(top), convertToPixels(right), convertToPixels(bottom));
view.setLayoutParams(param);
} catch (Exception e) {
Log.e("MARGIN_ERROR", "MARGIN_ERROR");
e.printStackTrace();
}
}
public static int convertToPixels(int dp) {
float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}MyUtils.setMargin(txtTitle, 12);
MyUtils.setMargin(txtTitle, 2,4,6,8);