2015-04-19 1 views
17

В чем разница и, что еще важнее, необходимость иметь разные префиксы в формате Andriod view XML?Разница между Android и приложением: префикс в Android 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.

+0

Вот полезный ответ: http://stackoverflow.com/questions/26692233/what-is-the-app-android-xml-namespace –

ответ

21

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

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

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

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

4

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

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

+0

Вы спасли мой день. спасибо –

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 и элементов управления пользовательского интерфейса.

Смежные вопросы