2

ブール値がtrueの場合、パディング値を設定できるようにしたいと考えています。問題は、2dpが2の小数であると考えて、pで何をするのかわからないので、Androidスタジオはレイアウトを解析できないということです。私は2つの密度ピクセルを意味するようにこれをどのようにフォーマットするのですか?値がtrueの場合、Androidデータバインディングセットの埋め込み

データレイアウト:

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

ビューのレイアウト(いただきました!重要):

<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}'/> 
+0

2dpを "2dp"に置き換えます。動作しません。 – Theyouthis

+0

暗闇の中で撮影しました: '2 \ dp'か2? – mastrgamr

+0

dをエスケープしても問題ありません。 2番目のオプションを試してみましょう。 – Theyouthis

答えて

3

ストアパディング値dimen.xmlで、それを使用しています。また、他のパディングのためのように

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

とを「」(二重引用符)との結合文字列を書き込むことが習慣に保管してください。

+0

なぜバインディングを ""で書くべきか? ""を使用する場合は、内部バインディングを使用することができます。 – user2137020

+1

これとは逆のことですが、 ""の間に書いておけば、 ''内部で使うこともできます。 –

関連する問題