2015-01-10 7 views
6

Mi piacerebbe sapere se c'è un altro modo alternativo o propper per sviluppare l'interfaccia utente di un'app Android. So che l'XML è usato, e anche perché - ma ci sono altri metodi anche se non sono molto efficienti?Alternative a xml sviluppando il layout dell'app Android?

+1

I principali vantaggi dell'utilizzo del layout XML sono la separazione dell'interfaccia utente e del codice e il facile supporto per dimensioni dello schermo sconosciute. Perché vuoi rinunciare a quelli? – Simon

+2

È possibile ottenere la stessa cosa senza XML. XML è troppo rigido per i miei gusti. – Aggressor

+1

Un altro motivo per cui mi piace usare JSON è che è più facile che gli artisti dell'interfaccia utente siano incaricati del file JSON piuttosto che scavare loro stessi nell'XML. – Aggressor

risposta

8

Siete invitati a creare la vostra interfaccia utente creando direttamente oggetti Java e ricucendoli insieme nelle loro relazioni genitore-figlio, compresi i gestori di layout necessari per controllare cose come dimensionamento e posizionamento.

E, dato che, siete liberi di inventare i vostri mezzi per definire un'interfaccia utente (analizzare alcuni JSON, utilizzare un generatore di numeri casuali, ecc.), Poiché alla fine sono solo oggetti Java.

+0

Questo è quello che ho fatto per iOS e cosa ho intenzione di fare per Android. Creo una classe java 'AutoLayout' che analizza un oggetto JSON. ad esempio '[" tipo ":" pulsante "," x "20," sotto ":" topBar "," buttonText ":" Questo è un pulsante "]' ecc. – Aggressor

3

Se stai sviluppando giochi, ci sono alcuni framework di giochi come Cocos2d-x o Unity che hanno i loro metodi per visualizzare i contenuti sullo schermo. Possono anche essere utili per le app che richiedono un qualche tipo di visualizzazione 3D (Unity ad esempio può essere incorporato in un'app nativa).

Oltre a ciò, l'alternativa a XML è creare viste in modo programmatico in Java e gestire la gerarchia della vista da solo. È possibile combinare entrambi, il che è particolarmente utile quando si desidera creare contenuti dinamicamente in base ad alcuni dati recuperati in fase di runtime.

Problemi correlati