2

Ich möchte in der Lage, Padding-Werte zu setzen, wenn ein Boolean wahr ist. Das Problem ist, dass Android Studio das Layout nicht analysieren kann, weil es denkt, dass 2dp eine Dezimalzahl mit einem Wert von 2 ist und dann nicht weiß, was mit dem p zu tun ist. Wie formatiere ich das so, dass es bedeutet, ich meine 2 Dichte Pixel.Android Datenbindung Padding, wenn der Wert wahr ist

Datenlayout:

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

Ansicht Layout (was wichtig ist):

<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

ersetzen 2dp mit "2dp". funktioniert nicht. – Theyouthis

+0

Im Dunkeln geschossen: versucht, '2 \ dp' oder nur 2? – mastrgamr

+0

Flucht der d hilft nicht. Die zweite Option versuchen. – Theyouthis

Antwort

3

Shop Füllwerts in dimen.xml und verwenden. Bitte behalten Sie Gewohnheit, verbindliche Zeichenkette mit "" (doppelte Anführungszeichen) zu schreiben

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

und so weiter für andere polsterns auch.

+0

Warum sollten Bindungen mit "" geschrieben werden? Wenn Sie "" als Sie verwenden können "" innerhalb binden. – user2137020

+1

Das ist umgekehrt Sache, wenn Sie es zwischen "" schreiben, können Sie auch '' darin verwenden. –

Verwandte Themen