Зачем нужна эта строка в файле макета xml?
xmlns:android="http://schemas.android.com/apk/res/android"
Зачем нужна эта строка в файле макета xml?
xmlns:android="http://schemas.android.com/apk/res/android"
Ответы:
В XML xmlns объявляет пространство имен. На самом деле, когда вы делаете:
<LinearLayout android:id>
</LinearLayout>
Вместо вызова android:id
xml будет использовать http://schemas.android.com/apk/res/android:id чтобы быть уникальным. Обычно эта страница не существует (это URI, а не URL), но иногда это URL, который объясняет используемое пространство имен.
Пространство имен в основном использует то же имя, что и имя пакета в приложении Java.
Вот объяснение.
Унифицированный идентификатор ресурса (URI)
Унифицированный идентификатор ресурса (URI) - это строка символов, которая идентифицирует интернет-ресурс.
Наиболее распространенный URI - это унифицированный указатель ресурса (URL), который идентифицирует адрес интернет-домена. Другой, не очень распространенный тип URI - это универсальное имя ресурса (URN).
В наших примерах мы будем использовать только URL.
android:layout_width
вместо просто layout_width
?
Чтобы понять, почему xmlns:android=“http://schemas.android.com/apk/res/android”
должен быть первым в файле макета XML, мы разберем компоненты на примере
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>
Унифицированный индикатор ресурсов (URI) :
Пример: http://schemas.android.com/apk/res/android:id
здесь URI
xmlns:android
описывает пространство имен Android.textview
виджет с различными функциями по сравнению с Android textview
, пространство имен Android помогает различать наш пользовательский textview
виджет и textview
виджет Android
xmlns ссылается на пространство имен XML
При использовании префиксов в XML должно быть определено так называемое пространство имен для префикса. Пространство имен определяется атрибутом xmlns в начальном теге элемента. Объявление пространства имен имеет следующий синтаксис. XMLNS: префикс = "URI".
Заметка : URI пространства имен не используется анализатором для поиска информации.
Цель состоит в том, чтобы дать пространству имен уникальное имя. Однако часто компании используют пространство имен в качестве указателя на веб-страницу, содержащую информацию о пространстве имен.
Это всего лишь объявление пространства имен XML. Мы используем это пространство имен, чтобы указать, что перечисленные ниже атрибуты принадлежат Android. Таким образом, они начинаются с " Android: "
Вы можете создавать свои собственные атрибуты. Поэтому, чтобы предотвратить конфликт имен, когда два атрибута названы одинаково, но ведут себя по-разному, мы добавляем префикс « android: », чтобы указать, что это атрибуты Android.
Таким образом, это объявление пространства имен должно быть включено в открывающий тег корневого представления вашего XML-файла.
xmlns: android Определяет пространство имен Android. Этот атрибут всегда должен быть установлен на «http://schemas.android.com/apk/res/android».
см. http://developer.android.com/guide/topics/manifest/manifest-element.html
Чтобы положить в термин непрофессионала:
без xmlns: android = ” http://schemas.android.com/apk/res/android ” теги, связанные с android, не будут распознаваться в документе xml нашего макета.
В XML имена элементов определяются разработчиком. Это часто приводит к конфликту при попытке смешать документы XML из разных приложений XML. Пользователь или приложение XML не будут знать, как справиться с этими различиями. Конфликты имен в XML можно легко избежать, используя префикс имени. При использовании префиксов в XML необходимо определить пространство имен для префикса. Пространство имен может быть определено атрибутом xmlns в начальном теге элемента. Объявление пространства имен имеет следующий синтаксис. XMLNS: префикс = "URI".
xmlns:android="http://schemas.android.com/apk/res/android"
Это форма xmlns: android = "@ + / id". Теперь для ссылки на это мы используем, например,
android:layout_width="wrap_content"
android:text="Hello World!"
Еще один xmlns
xmlns:app="http://schemas.android.com/apk/res-auto"
который находится в форме xmlns: app = "@ + / id" и его использование приведено ниже
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
xmlns: android Это начальный тег для определения пространства имен Android в Android. Это стандартное соглашение, определенное Android-разработчиком Google. когда вы используете макет по умолчанию или обычай, то должны использовать это пространство имен.
Определяет пространство имен Android. Этот атрибут всегда должен быть установлен на « http://schemas.android.com/apk/res/android ».
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns : пространство имен xml и URL: " http://schemas.android.com/apk/res/android » - это не что иное, как
XSD который является [определением схемы XML]: который используется для определения правил для файла XML.
Пример :
<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>
Позвольте мне объяснить, какие правила? ,
Такие Виды Правил определены в XML XSD: " http://schemas.android.com/apk/res/android "
немного поздно, но я надеюсь, что это поможет вам.
Это объявление пространства имен XML, чтобы указать, что атрибуты, которые находятся внутри группы представлений, в которой они замедляются, связаны с android.