2013-08-04 18 views
8

Sto costruendo un progetto Android e sto usando eclipse. Non riesco proprio a capire come disabilitare il fastidioso allineamento automatico. Voglio solo posizionare i pulsanti ovunque io voglia farli cadere sull'interfaccia della GUI, ma mantiene semplicemente per allinearli l'uno con l'altro. Ho provato a eliminare quelle linee di allineamento nel codice xml ma le riporta ancora mentre sposto i pulsanti nell'interfaccia della GUI.Come disabilitare l'allineamento automatico?

C'è un modo per disabilitare quella funzione?

Grazie,

Alex

risposta

7

C'è un modo per disabilitare quella funzione?

Non in un modo che tu possa trovare soddisfacente, sospetto.

Non hai davvero spiegato quali sono le "linee di allineamento", quindi siamo costretti a indovinare. La mia ipotesi è che le "linee di allineamento" siano perché stai lavorando con un contenitore RelativeLayout. Citando the JavaDocs for RelativeLayout, RelativeLayout è:

Un layout in cui le posizioni dei bambini possono essere descritte in relazione tra loro o al genitore.

E, citando the guide for RelativeLayout:

RelativeLayout è un gruppo di viste che visualizza viste figlio in posizioni relative. La posizione di ciascuna vista può essere specificata come relativa a elementi di pari livello (ad esempio a sinistra o al di sotto di un'altra vista) o in posizioni relative all'area di RelativeLayout principale (come allineato in basso, a sinistra del centro).

Quindi, le "linee di allineamento" sono lì, e sono sostituiti dal builder GUI, perché sono il punto dietro utilizzando un contenitore RelativeLayout.

Ovviamente, è possibile modificare il contenitore con cui si sta lavorando con qualcos'altro.

Tuttavia, in generale, Android in realtà non supporta molto bene l'obiettivo dichiarato ("Voglio solo posizionare i pulsanti ovunque io voglia farli cadere sull'interfaccia della GUI"). Proprio come non lo fai nello sviluppo Web, non lo fai nello sviluppo di Android, e per lo stesso motivo: devi prendere in considerazione dimensioni diverse (dimensione della finestra del browser per Web, dimensioni dello schermo per Android). RelativeLayout, LinearLayout, TableLayout e GridLayout sono tutti progettati per specificare i widget e le regole per il posizionamento e il ridimensionamento, in modo che sia possibile progettare un'interfaccia utente che soddisferà la differenza tra uno schermo da 3 "e uno da 4,5", ad esempio. Questo è simile all'utilizzo di tag HTML e regole CSS per definire il contenuto e il suo posizionamento in una pagina Web. Il builder GUI drag-and-drop di Eclipse per Android può aiutare nelle tue definizioni di queste regole, come forse stai vedendo con le tue "linee di allineamento" per RelativeLayout.

+0

Grazie mille per questa spiegazione.Sono davvero nuovo nello sviluppo di Android, di solito sviluppo per iOS, dove è molto facile trascinare e rilasciare qualsiasi cosa tu voglia. Speravo che fosse possibile lo stesso per Android. Sto già usando RelativeLayout ma non riesco a farlo bene, ogni volta che imposto la posizione di un pulsante è relativo ad altri pulsanti e poi quando provo a posizionarli sposta il primo e posso solo risolverlo Se conosci qualche tutorial che spiega come farlo correttamente, potrebbe aiutarmi molto. –

+0

@AlexFish: "di solito sviluppo per iOS, dove è molto facile trascinare e rilasciare qualsiasi cosa tu voglia" - Non sono uno sviluppatore iOS, ma sarei stupito e deluso se l'Apple HIG ti lascia "trascinare e rilascia tutto dove vuoi ", anche se gli strumenti lo supportano. "Se conosci qualche tutorial che spiega come farlo correttamente, potrebbe essermi di grande aiuto" - devi imparare come funzionano i contenitori (es., RelativeLayout', 'LinearLayout') e come progettare la tua GUI usando quei contenitori . Il trascinamento della selezione è un mezzo per un fine, non un fine in sé. – CommonsWare

+0

@AlexFish: In termini di dove imparare come utilizzare i contenitori e così via, la documentazione online, a partire da http://developer.android.com/guide/topics/ui/overview.html, è sfortunatamente debole, ma esiste. Oltre a ciò, libri, blog, StackOverflow, ecc. Sono le tue risorse principali. – CommonsWare

0

Credo di essere in grado di aiutare. Se si imposta il layout su Layout relativo, è possibile trascinare e rilasciare qualsiasi vista ovunque sulla GUI di Eclipse.

Problemi correlati