Question: I want to be able to to be able to set padding values if a boolean is true. The problem is that Android studio cannot parse the layout because it thinks 2dp is a decimal with a value of 2 and then doesn't know what to do with the p. how do I format this so that it understands i mean 2 density pixels.

Data layout:

```
<data class=".ItemBinding">
    <variable name="isGroupType" type="Boolean"/>
</data>

```

View layout(whats important):

```
<android.support.v7.widget.AppCompatImageView
            android:layout_width="64dp"
            android:layout_height="64dp"
            android:paddingBottom='@{isGroupType ? 2dp : 0dp}'
            android:paddingTop='@{isGroupType ? 8dp : 0dp}'
            android:paddingRight='@{isGroupType ? 2dp : 0dp}'
            android:paddingLeft='@{isGroupType ? 2dp : 0dp}'/>

```

Answer: 
Store padding value in `dimen.xml` and use it. Please keep habit to write binding string with " " (double quotes)

```
android:paddingBottom="@{isGroupType ? @dimen/padding_normal : @dimen/padding_null}"

```

and so on for other paddings also.
For anyone looking to set margins via DataBinding, you'll have to use `BindingAdapter` as well:

```
@BindingAdapter("layoutMarginBottom")
fun setLayoutMarginBottom(view: View, dimen: Float) {
    val layoutParams = view.layoutParams as MarginLayoutParams
    layoutParams.bottomMargin = dimen.toInt()
    view.layoutParams = layoutParams
}

```

And your xml property will look like this:

```
app:layoutMarginBottom="@{someCondition ? @dimen/zero_dp : @dimen/twenty_dp}"

```