Dlaczego ta linia jest potrzebna w pliku układu XML?
xmlns:android="http://schemas.android.com/apk/res/android"
Dlaczego ta linia jest potrzebna w pliku układu XML?
xmlns:android="http://schemas.android.com/apk/res/android"
Odpowiedzi:
W XML xmlns deklaruje przestrzeń nazw. W rzeczywistości, kiedy:
<LinearLayout android:id>
</LinearLayout>
Zamiast dzwonić android:id
, XML użyje http://schemas.android.com/apk/res/android:id, aby być unikalnym. Zwykle ta strona nie istnieje (jest to identyfikator URI, a nie adres URL), ale czasami jest to adres URL wyjaśniający używaną przestrzeń nazw.
Przestrzeń nazw ma prawie takie same zastosowania, jak nazwa pakietu w aplikacji Java.
Oto wyjaśnienie.
Jednolity identyfikator zasobów (URI)
Uniform Resource Identifier (URI) to ciąg znaków identyfikujący zasób internetowy.
Najpopularniejszym identyfikatorem URI jest Uniform Resource Locator (URL), który identyfikuje adres domeny internetowej. Innym, niezbyt popularnym typem identyfikatora URI jest uniwersalna nazwa zasobu (URN).
W naszych przykładach będziemy używać tylko adresów URL.
android:layout_width
zamiast po prostu layout_width
?
Aby zrozumieć, dlaczego xmlns:android=“http://schemas.android.com/apk/res/android”
musi być pierwszym w pliku xml układu Rozumiemy komponenty na przykładzie
Sample
::
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container" >
</FrameLayout>
Jednolity wskaźnik zasobów (URI) :
Np .: http://schemas.android.com/apk/res/android:id
to identyfikator URI
xmlns:android
opisuje przestrzeń nazw systemu Android.textview
widget z różnych funkcji w porównaniu do android textview
, android nazw pomaga odróżnić nasz zwyczaj textview
widget i android
textview
widgetxmlns odnosi się do przestrzeni nazw XML
Korzystając z przedrostków w XML, należy zdefiniować tzw. Przestrzeń nazw dla prefiksu. Przestrzeń nazw jest definiowana przez atrybut xmlns w początkowym znaczniku elementu. Deklaracja przestrzeni nazw ma następującą składnię. xmlns: prefix = "URI".
Uwaga : identyfikator URI przestrzeni nazw nie jest używany przez parser do wyszukiwania informacji.
Celem jest nadanie przestrzeni nazw unikalnej nazwy. Jednak często firmy używają przestrzeni nazw jako wskaźnika do strony internetowej zawierającej informacje o przestrzeni nazw.
To jest tylko deklaracja przestrzeni nazw XML. Używamy tej przestrzeni nazw, aby określić, że wymienione poniżej atrybuty należą do systemu Android. Dlatego zaczynają się od „ android: ”
W rzeczywistości możesz tworzyć własne atrybuty niestandardowe. Aby zapobiec konfliktom nazw, w których dwa atrybuty mają takie same nazwy, ale zachowują się inaczej, dodajemy przedrostek „ android: ”, aby zaznaczyć, że są to atrybuty systemu Android.
Dlatego ta deklaracja przestrzeni nazw musi być zawarta w otwierającym tagu widoku głównego pliku XML.
xmlns: android Definiuje przestrzeń nazw systemu Android. Ten atrybut powinien zawsze mieć wartość „http://schemas.android.com/apk/res/android”.
zobacz http://developer.android.com/guide/topics/manifest/manifest-element.html
Ujmując termin laika:
bez xmlns: android = ” http://schemas.android.com/apk/res/android ” tagi związane z Androidem nie będą rozpoznawane w dokumencie xml naszego układu.
W XML nazwy elementów są definiowane przez programistę. Często powoduje to konflikt podczas próby mieszania dokumentów XML z różnych aplikacji XML. Użytkownik lub aplikacja XML nie będzie wiedzieć, jak radzić sobie z tymi różnicami. Konfliktów nazw w XML można łatwo uniknąć, używając przedrostka nazwy. Używając przedrostków w XML, należy zdefiniować przestrzeń nazw dla prefiksu. Przestrzeń nazw może być zdefiniowana przez atrybut xmlns w znaczniku początkowym elementu. Deklaracja przestrzeni nazw ma następującą składnię. xmlns: prefix = "URI".
xmlns:android="http://schemas.android.com/apk/res/android"
To jest forma xmlns: android = "@ + / id". Teraz, aby to odnieść, używamy na przykład
android:layout_width="wrap_content"
android:text="Hello World!"
Innym xmlns jest
xmlns:app="http://schemas.android.com/apk/res-auto"
który ma postać xmlns: app = "@ + / id" i jego użycie jest podane poniżej
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
xmlns: android To jest tag początkowy do definiowania przestrzeni nazw systemu Android w systemie Android. Jest to standardowa konwencja zdefiniowana przez programistę Google dla Androida. gdy używasz domyślnego układu lub niestandardowego układu, musisz użyć tej przestrzeni nazw.
Definiuje przestrzeń nazw systemu Android. Ten atrybut powinien zawsze mieć wartość „ http://schemas.android.com/apk/res/android ”.
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns : to przestrzeń nazw xml, a adres URL: „ http://schemas.android.com/apk/res/android ” to nic innego jak
XSD, czyli [definicja schematu XML]: który jest używany do definiowania reguł dla pliku XML.
Przykład:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:hint="User Name"
/>
</LinearLayout>
Pozwól, że wyjaśnię, jakie zasady? .
Tego rodzaju reguły są zdefiniowane w XML XSD: „ http://schemas.android.com/apk/res/android ”
trochę późno, ale mam nadzieję, że to ci pomoże.
Jest to deklaracja przestrzeni nazw XML w celu określenia, że atrybuty znajdujące się w grupie widoków, w której następuje spowolnienie, są powiązane z systemem Android.