2013-03-12 22 views
23

Na przykład, w:Jakie jest znaczenie xmlns: narzędzia w układzie Android XML?

<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" > 
... 

Czy muszę go umieścić?

+2

Istnieje kilka dobrych informacji na temat tych elementów w narzędziach "Co to jest: kontekst" w plikach układu Androida?] (Http://stackoverflow.com/q/11078487/1267661) – Sam

Odpowiedz

24

Definiuje przestrzeń nazw XML dokumentu. Powinieneś go umieścić, inaczej znaczniki takie jak <RelativeLayout> mogą nie zostać rozpoznane przez analizator składni.

Przestrzenie nazw umożliwiają dokumentom XML dołączanie znaczników różnych dostawców. Korzystając z atrybutu xmlns, deklarujesz, że domyślnie używasz zdefiniowanych tu elementów XML: http://schemas.android.com/apk/res/android (zauważ, że ten link jest uszkodzony - this discussion wyjaśnia, dlaczego).

też zadeklarować dodatkową przestrzeń nazw, tools, która nie jest domyślny obszar nazw, co przy odwoływaniu elementy lub atrybuty zdefiniowane tam, trzeba dodać tools prefiks, na przykład:

tools:context=".SomeActivity" 
+0

@Sam - To dlatego, że Google nie robi tego publiczny. – kamituel

+0

@Sam - zobacz [tę dyskusję] (https://groups.google.com/forum/?fromgroups=#!topic/android-developers/2FtsLQ4wESY), aby zobaczyć, dlaczego te schematy nie są dostępne. – kamituel

+0

Czy wykonałeś edycję ninja? Przysięgam, że to był inny link związany z innym zdaniem ... może po prostu wycofałem się. Zgadzam się, schematy nie muszą być poprawnymi linkami, tylko spójne. – Sam

1

Po to przydatny związek z Android portalu dev: https://developer.android.com/studio/write/tool-attributes.html

Mówi

Android Studio obsługuje wiele atrybutów XML w przestrzeni nazw narzędzi, które umożliwiają funkcje czasu projektowania (takich jak który układ ma być wyświetlany w fragmencie) lub zachowania kompilacyjne (np. jaki tryb zmniejszania należy zastosować do zasobów XML). Podczas budowania aplikacji narzędzia do budowania usuwają te atrybuty, aby nie wpływać na rozmiar i działanie pakietu APK.

tj. Przestrzeń nazw narzędzi pomaga w projektowaniu interfejsu użytkownika, a wszystkie atrybuty z prefiksem "narzędzia" zostaną usunięte w czasie kompilacji.

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej jest dołączyć istotne części odpowiedzi tutaj i podać link do odniesienia. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni – slfan