2014-04-23 11 views
13

Angenommen, ich habe 2 Dimensionswerte in einer XML-Datei definiert und möchte einen dritten Wert definieren, der die Summe der anderen 2 Werte darstellt. Gibt es eine Möglichkeit, das in der XML-Datei zu tun?Wie summiere ich Werte in xml?

Hier ist eine Illustration von dem, was ich tun möchte.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<dimen name="top_element_size">10dp</dimen> 
<dimen name="element_spacing">5dp</dimen> 
<dimen name="bottom_element_top">@dimen/top_element_size + @dimen/element_spacing</dimen> 
</resources> 

Und ich möchte in einem frame Layout android:layout_marginTop="@dimen/bottom_element_top" für das untere Element definieren. Aber es scheint, dass @dimen/top_element_size + @dimen/element_spacing nicht legal ist.

+3

Nein, können Sie nicht. Sie können nur die endlichen Werte festlegen. –

+2

Sie können keine Werte in der XML-Datei hinzufügen. Wenn Sie den Rand dynamisch setzen möchten, können Sie auch den Java-Code einstellen. Hoffe, dieser Trick hilft dir. –

+1

@BobMalooga Ich bin nicht sehr gut informiert über die Meta der Website, aber warum sollte "Das ist nicht möglich" ein Kommentar sein und keine Antwort? Wenn es wirklich keine Möglichkeit gibt, dies zu tun, dann beantwortet es meine Frage, obwohl es keine Lösung ist (weil es keine Lösung gibt). – Pooks

Antwort

6

Sie können in der XML-Datei keine arithmetischen oder logischen Operationen ausführen. Dynamisch können Sie die Daten aus der XML-Datei abrufen und die Werte in Java-Code summieren und diesen Wert als Parameter für Ihr LinearLayout- oder FrameLayout-Widget oder ein anderes Widget festlegen.

Verwandte Themen