Ich möchte Ränder basierend auf Dimensionen festlegen, die ich in dimens.xml erstellt habe Die Dimensionen es funktioniert gut, seine nur Datenbindung kann es in dem folgenden Fall finden Sie nicht:Android Databinding - So erhalten Sie Dimensionen aus dimens.xml
<TextView
android:id="@+id/title_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@+id/disableButton"
*************
android:layout_marginBottom="@{@bool/showAds ?
@dimen/frontpage_margin_ads: @dimen/frontpage_margin_noads}"
*************
android:gravity="center_horizontal"
android:text="@string/app_name"
android:textColor="@android:color/holo_orange_dark"
android:contentDescription="@string/app_name"
android:textSize="64sp"
android:textStyle="bold" />
es tat es finden, aber es sagt, dass Margin nicht float nehmen. Wie kann ich das beheben? Ich habe versucht, beide Dimensionen int zu werfen, aber dann beschwert es sich, dass es nicht zu int gegossen werden kann.
Meine Dimensionen XML-Datei sieht wie folgt aus:
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="bigText">44sp</dimen>
<dimen name="littleText">44sp</dimen>
<dimen name="mediumText">40sp</dimen>
<dimen name="smallText">24sp</dimen>
<dimen name="fab_margin">16dp</dimen>
<dimen name="frontpage_margin_noads">0dp</dimen>
<dimen name="frontpage_margin_ads">13dp</dimen>
</resources>
Wo soll ich diesen Code schreiben? Werden alle Layouts, die ich mit marginBottom angegeben habe, diese Methode verwenden oder nur die Datenbindungsarten oder nur dieses bestimmte Layout? –
Sie können dies für jede (öffentliche) Klasse in einem Projekt hinzufügen, für das die Datenbindung aktiviert ist. Es wird für alle datengebundenen Randattribute verwendet. –
Das Problem ist einfach: die Marge nicht die Eigenschaft der Ansicht ist, aber das Layout Instanz der Ansicht. Sie können das, was Sie versucht haben, mit anderen Ansichtseigenschaften wie Padding machen, aber es gibt einen guten Grund, warum Randattribute das Präfix 'layout_' haben. – racs