2013-03-12 10 views
23

Per esempio, in:Qual è il significato di xmlns: strumenti nel layout XML di Android?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 
... 

Devo dire?

+2

C'è qualche buona informazione in queste righe in [Che cos'è "strumenti: contesto" nei file di layout Android?] (Http://stackoverflow.com/q/11078487/1267661) – Sam

risposta

24

Definisce lo spazio dei nomi XML del documento. Dovresti metterlo, altrimenti tag come <RelativeLayout> potrebbero non essere riconosciuti dal parser.

Gli spazi dei nomi consentono ai documenti XML di includere tag di vari fornitori. Utilizzando l'attributo xmlns da te dichiarato, che, per impostazione predefinita, stai utilizzando gli elementi XML definiti qui: http://schemas.android.com/apk/res/android (notare che questo collegamento è rotto - this discussion spiega perché).

È inoltre dichiara namespace aggiuntivo, tools, che non è il vostro spazio dei nomi predefinito, quindi quando gli elementi che fanno riferimento o attributi definiti lì, è necessario aggiungere tools prefisso, sull'esempio:

tools:context=".SomeActivity" 
+0

@ Sam - Questo perché Google non lo fa pubblico. – kamituel

+0

@ Sam - consulta [questa discussione] (https://groups.google.com/forum/?fromgroups=#!topic/android-developers/2FtsLQ4wESY) per capire perché questi schemi non sono disponibili. – kamituel

+0

Hai fatto una modifica ninja? Giuro che si trattava di un link diverso collegato a una frase diversa ... forse mi sono appena escluso. Sono d'accordo, gli schemi non sono tenuti ad essere link validi, solo coerenti. – Sam

1

seguente è un link utile dal portale dev Android: https://developer.android.com/studio/write/tool-attributes.html

Si dice

Android Studio supporta una varietà di attributi XML nello spazio dei nomi strumenti che consentono le caratteristiche in fase di progettazione (come ad esempio quale layout mostrare in un frammento) o comportamenti in fase di compilazione (come ad esempio la modalità di restringimento da applicare alle risorse XML). Quando costruisci la tua app, gli strumenti di compilazione rimuovono questi attributi in modo che non vi siano effetti sulla dimensione dell'APK o sul comportamento di runtime.

Ad esempio, lo spazio dei nomi degli strumenti consente di progettare l'interfaccia utente e tutti gli attributi con gli "strumenti" di prefisso verranno rimossi al momento della compilazione.

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia – slfan

Problemi correlati