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

Какие инструменты: макет в файле фрагмента xml?

Я запустил новое приложение для Android на основе шаблона основного/подробного потока, используя ADT Eclipse. Этот шаблон создает два действия, основной фрагмент и фрагмент детали, чтобы соответствовать маленьким и большим экранам.

Я заметил, что файл activity_item_list.xml имеет атрибут tools:layout:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/item_list"
    android:name="com.example.fragmenttwopanel.ItemListFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    tools:context=".ItemListActivity"
    tools:layout="@android:layout/list_content" />

Я попытался удалить атрибут, и приложение работает таким же образом, но на вкладке графического макета ADT сообщение спросит меня:

выбрать макет предварительного просмотра из контекстного меню "Макет фрагмента"

В чем его цель? Это просто для предварительного просмотра в графическом макете?

4b9b3361

Ответ 1

Это пространство имен, используемое средствами IDE. Это не требуется для запуска приложения на устройстве (или эмуляторе). С другой стороны, если вы оставите их, Android проигнорирует их, когда приложение будет работать на устройстве.

Это используется, например, lint и графическая компоновка.

Вы можете проверить, как это используется lint здесь: http://developer.android.com/tools/debugging/improving-w-lint.html в разделе Настройка проверки lint в XML.

Ответ 2

Да, это просто информация для редактора графической компоновки, как фрагмент должен отображаться в редакторе.

Обычно атрибуты tools (с префиксом tools namespace prefix, объявленным с помощью xmlns:tools="http://schemas.android.com/tools") используются средствами разработки и не компилируются в самом приложении.

Ответ 3

щелкните правой кнопкой мыши на серой области, "layout layout → выберите макет" и выберите макет, DONE!