How do I avoid this hardcoded math...
10dip
6dip
Using databinding:
android:layout_marginTop="@{@dimen/uno + @dimen/dos}"
IFAIK margins adapters are not provided by the sdk. You will need to define it yourself:
@BindingAdapter("android:layout_marginTop")
public static void setBottomMargin(View view, int bottomMargin) {
ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
layoutParams.setMargins(layoutParams.leftMargin, layoutParams.topMargin,
layoutParams.rightMargin, bottomMargin);
view.setLayoutParams(layoutParams);
}
Make sure databinding is enabled for your project :
dataBinding {
enabled = true
}
in your build.gradle.
The databinding doc is worth reading.