Подтвердить что ты не робот

Разница между Android и приложением: префикс в Android XML?

В чем разница и, что еще важнее, необходимость иметь разные префиксы в Andriod для просмотра XML?

Например,

<android.support.v7.widget.Toolbar
    android:id="@+id/actionToolBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:contentInsetEnd="20dp"
    app:contentInsetEnd="20dp"
    android:elevation="3dp"
  />

Имеет contentInsetEnd для android и app.

4b9b3361

Ответ 1

android обычно используется для атрибута, поступающего из самого Android SDK.

app часто используется, если вы используете библиотеку поддержки.

Вы также можете увидеть другие пространства имен, если используете пользовательские представления (собственные или сформировать библиотеку).

Вот дополнительная информация: http://developer.android.com/training/custom-views/create-view.html#customattr

Ответ 2

app - это просто пространство имен для любых настраиваемых параметров для пользовательского представления.

Это может быть что угодно, но если вы видите корневой элемент, вероятно, есть строка xmlns:app="http://schemas.android.com/apk/res-auto", которая назначает пространство имен.

Ответ 3

пространство имен приложений используется для настраиваемых атрибутов, которые обычно определяются в /values/attrs.xml Вот пример такого файла

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="SimpleTabIndicator">
        <attr name="numberOfTabs" format="integer"/>
        <attr name="indicatorColor" format="color"/>
    </declare-styleable>
</resources>

И пример использования будет

<com.someapp.demo.SimpleTabIndicator
    android:id="@+id/tabIndicator"
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:background="#26292E"
    app:indicatorColor="#FFFDE992"
    app:numberOfTabs="5"/>

Android-пространство имен, которое вы используете для виджетов Android и элементов управления пользовательского интерфейса.

Ответ 4

если вы используете префикс приложения, например, app: text = "disconnected", то текст не будет отображаться при запуске на реальном устройстве. если вы хотите отображать что-то во время разработки, но не на реальном устройстве, вы также можете использовать этот префикс.