¿Por qué se necesita esta línea en el archivo de diseño xml?
xmlns:android="http://schemas.android.com/apk/res/android"
¿Por qué se necesita esta línea en el archivo de diseño xml?
xmlns:android="http://schemas.android.com/apk/res/android"
Respuestas:
En XML, xmlns declara un espacio de nombres. De hecho, cuando haces:
<LinearLayout android:id>
</LinearLayout>
En lugar de llamar android:id
, el xml usará http://schemas.android.com/apk/res/android:id para ser único. En general, esta página no existe (es un URI, no una URL), pero a veces es una URL que explica el espacio de nombres utilizado.
El espacio de nombres tiene casi los mismos usos que el nombre del paquete en una aplicación Java.
Aquí hay una explicación.
Identificador uniforme de recursos (URI)
Un identificador uniforme de recursos (URI) es una cadena de caracteres que identifica un recurso de Internet.
El URI más común es el Localizador Uniforme de Recursos (URL) que identifica una dirección de dominio de Internet. Otro tipo de URI no tan común es el Nombre de recurso universal (URN).
En nuestros ejemplos solo usaremos URL.
android:layout_width
lugar de solo layout_width
?
Para entender por qué xmlns:android=“http://schemas.android.com/apk/res/android”
debe ser el primero en el archivo xml de diseño Entenderemos los componentes usando un ejemplo
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>
Indicador uniforme de recursos (URI) :
Ej: http://schemas.android.com/apk/res/android:id
es el URI aquí
xmlns:android
describe el espacio de nombres de Android.textview
widget con diferentes características en comparación con Android textview
, el espacio de nombres de Android ayuda a distinguir entre nuestro textview
widget personalizado y el textview
widget de Android
xmlns se refiere al espacio de nombres XML
Cuando se usan prefijos en XML, se debe definir un llamado espacio de nombres para el prefijo. El espacio de nombres está definido por el atributo xmlns en la etiqueta de inicio de un elemento. La declaración del espacio de nombres tiene la siguiente sintaxis. xmlns: prefix = "URI".
Nota : El analizador no utiliza el URI del espacio de nombres para buscar información.
El propósito es darle al espacio de nombres un nombre único. Sin embargo, a menudo las empresas usan el espacio de nombres como un puntero a una página web que contiene información del espacio de nombres.
Esto es solo la declaración del espacio de nombres XML. Utilizamos este espacio de nombres para especificar que los atributos enumerados a continuación pertenecen a Android. Así comienzan con " android: "
De hecho, puede crear sus propios atributos personalizados. Entonces, para evitar conflictos de nombres donde 2 atributos se denominan de la misma manera, pero se comportan de manera diferente, agregamos el prefijo " android: " para indicar que estos son atributos de Android.
Por lo tanto, esta declaración de espacio de nombres debe incluirse en la etiqueta de apertura de la vista raíz de su archivo XML.
xmlns: android Define el espacio de nombres de Android. Este atributo siempre debe establecerse en "http://schemas.android.com/apk/res/android".
consulte http://developer.android.com/guide/topics/manifest/manifest-element.html
Para poner en términos simples:
sin xmlns: android = " http://schemas.android.com/apk/res/android " Las etiquetas relacionadas con Android no se reconocerán en el documento xml de nuestro diseño.
En XML, el desarrollador define los nombres de los elementos. Esto a menudo resulta en un conflicto al intentar mezclar documentos XML de diferentes aplicaciones XML. Un usuario o una aplicación XML no sabrá cómo manejar estas diferencias. Los conflictos de nombres en XML se pueden evitar fácilmente utilizando un prefijo de nombre. Cuando se usan prefijos en XML, se debe definir un espacio de nombres para el prefijo. El espacio de nombres se puede definir mediante un atributo xmlns en la etiqueta de inicio de un elemento. La declaración del espacio de nombres tiene la siguiente sintaxis. xmlns: prefix = "URI".
xmlns:android="http://schemas.android.com/apk/res/android"
Esta es una forma de xmlns: android = "@ + / id". Ahora para referirnos usamos por ejemplo
android:layout_width="wrap_content"
android:text="Hello World!"
Otro xmlns es
xmlns:app="http://schemas.android.com/apk/res-auto"
que está en forma de xmlns: app = "@ + / id" y su uso se da a continuación
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
xmlns: android Esta es la etiqueta de inicio para definir el espacio de nombres de Android en Android. Esta es la convención estándar definida por el desarrollador de Android de Google. cuando está usando un diseño predeterminado o personalizado, entonces debe usar este espacio de nombres.
Define el espacio de nombres de Android. Este atributo siempre debe establecerse en " http://schemas.android.com/apk/res/android ".
De la <manifes>
documentación del elemento .
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns : es el espacio de nombre xml y la URL: " http://schemas.android.com/apk/res/android " no es más que
XSD que es [definición de esquema XML]: que se utiliza para definir reglas para el archivo XML.
Ejemplo:
<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>
Déjame explicarte ¿Qué tipo de reglas? .
Este tipo de reglas se definen en XML XSD: " http://schemas.android.com/apk/res/android "
un poco tarde pero espero que esto te ayude.
Es una declaración de espacio de nombre XML para especificar que los atributos que están dentro del grupo de vista en el que se desacelera están relacionados con Android.