2014-04-23 20 views
13

Supponiamo di avere 2 valori di quota definiti in un file XML e di voler definire un terzo valore che è la somma degli altri 2 valori. C'è un modo per farlo nel file XML?Come sommare i valori in xml?

Ecco un'illustrazione di ciò che vorrei fare.

<?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> 

E vorrei definire android:layout_marginTop="@dimen/bottom_element_top" per l'elemento di fondo in un layout frame. Ma sembra che @dimen/top_element_size + @dimen/element_spacing non sia legale.

+3

NO, non è possibile. Puoi solo impostare i valori finiti. –

+2

non è possibile aggiungere valori nel file XML. Se si desidera impostare il margine in modo dinamico in modo da poter impostare anche dal codice Java. Spero che questo trucco ti aiuti. –

+1

@BobMalooga Non sono troppo informato sulla meta del sito, ma perché "Non è possibile" essere un commento e non una risposta? Se davvero non c'è modo di farlo, risponde alla mia domanda, anche se non è una soluzione (perché non c'è una soluzione). – Pooks

risposta

6

Non è possibile eseguire operazioni aritmetiche o logiche nel file xml. Dinamicamente è possibile recuperare i dati dal xml e sommare i valori nel codice java, quindi impostare tale valore come parametri per LinearLayout o FrameLayout o qualsiasi altro widget.

Problemi correlati