tools context android что это

Пространство имён Tools

При создании нового проекта, когда вы проектировали макет для экрана активности, то, наверняка, замечали загадочные строчки у корневого элемента со словом tools:

Настало время сорвать покровы и использовать новые возможности.

Привычное пространство имён xmlns:android позволяет настраивать внешний вид и поведение компонентов в Android-приложении. А новое пространство имён xmlns:tools позволяет среде разработки (в нашем случае, Android Studio) правильно отобразить компоненты для просмотра в режиме дизайна.

Причём возможности данного инструмента гораздо выше, чем многие себе представляют.

Для начала приведу простой пример, который многие оценят по достоинству. Представьте себе, что у вас есть компонент пустой TextView, который получает текст с сервера. Чтобы визуально представить себе, как будет выглядеть текст, не соединяясь с сервером, вам нужно временно присвоить какой-нибудь текст. А потом не забыть удалить его при создании релиза. А можно поступить проще. Инструмент tools дублирует многие визуальные атрибуты пространства имён android и вы можете заменить его следующим образом.

В реальности у текстовой метки нет текста, но в окне предварительного просмотра вы можете видеть текст и оценить дизайн. Напомню, что эта настройка относится только к среде разработки, а не к вашему приложению. Поэтому теперь можно не волноваться, что однажды вы забудете удалить временный текст. Попробуйте теперь поменять цвет фона с помощью атрибута tools:background =»#ваш_цвет». Получилось?

Кроме визуальных атрибутов, tools может использоваться для взаимодействия с инструментом Lint, который пытается подсказать при проблемном коде. К этим атрибутам можно отнести

tools:ignore

Атрибут tools:ignore похож по своему поведению на Java-аннотацию @SuppressWarnings, подсказывающему инструменту Lint не обращать внимания на код. Аналогично можно не обращать на какой-то атрибут в XML-файле.

tools:targetApi

Атрибут tools:targetApi работает аналогично аннотации @TargetApi и говорит о минимальной версии API, которая будет использована для ресурсов.

Например, ваш проект использует минимальный уровень minSdkLevel = 15, а вы используете объекты RippleDrawable в качестве ресурсов в общей папке, а не в папке drawable-v21. Но если вы контролируете ситуацию и знаете, что для старых устройств есть другие ресурсы, то можете подавить предупреждение:

tools:locale

Атрибут tools:locale поможет вам подавить предупреждения Lint о неправильном правописании, выступая в качестве грамар-наци. Проблема в том, что Lint содержит проверку орфографии только на английском языке. И если ваши строковые ресурсы содержат русский текст, то его предупреждения бесполезны. Отключаем их:

Рассмотрим теперь другие доступные атрибуты.

tools:context

Атрибут tools:context у корневого элемента позволяет определить связь между макетом и классом активности, в которой данный макет будет реализован. Помогает студии сформировать в окне предварительного просмотра внешний вид, подтягивая нужную тему.

tools:layout

Атрибут tools:layout используется в разметке фрагмента, чтобы вывести макет фрагмента на экране активности.

tools:showIn

Атрибут tools:showIn позволяет указать, какую разметку нужно использовать для вывода в окне предварительного просмотра. Это может пригодиться для тега merge:

tools:menu

Атрибут tools:menu подсказывает среде разработке, какое меню нужно отобразить в окне предварительного просмотра. Также используется в корневом элементе разметки.

Если не хотите выводить меню, то оставьте пустую строку. Данный атрибут не работает с темой Theme.AppCompat и производных от неё.

tools:actionBarNavMode

Атрибут tools:actionBarNavMode отвечает за внешний вид панели действий ActionBar. Он также размещается в корневом элементе разметки, не работает с темами Theme.AppCompat и Theme.Material и не действует при использовании Toolbar вместо ActionBar.

Доступны три варианта:

tools:listitem / listheader / listfooter

Атрибуты для заголовка и футера могут работать только для ListView, а для GridView не работает.

Для сравнения как выглядят экраны активности с использованием tools: и без него.

tools context android что это. Смотреть фото tools context android что это. Смотреть картинку tools context android что это. Картинка про tools context android что это. Фото tools context android что это

tools context android что это. Смотреть фото tools context android что это. Смотреть картинку tools context android что это. Картинка про tools context android что это. Фото tools context android что это

Мы видим вкладки, элементы меню, другую разметку для списка.

tools:layoutManager

В RecyclerView можно использовать менеджер разметок с указанием различных параметров.

tools:itemCount

Обычно студия выводит десять элементов списка в RecyclerView. Вы можете изменить это поведение данным атрибутом.

tools:openDrawer

В студии 1.4 появился новый атрибут tools:openDrawer, управляющий состоянием навигационной шторки для DrawerLayout. При значении start будет показана шторка в выдвинутом виде. Доступны значения: start, end, left, right.

tools:minValue/tools:maxValue

Атрибуты для компонента NumberPicker для задания минимального и максимального значения.

tools:src

Можно указать графический ресурс. Полезно для ImageView, когда используется пустое изображение при запуске приложения и затем скачивается картинка с сервера. Позже появилась другая удобная возможность (см. ниже)

tools:layout_height/tools:layout_width

tools:background

tools:src=»http://developer.alexanderklimov.ru/android/studio/@tools:sample/»

В студии версии 3.0 появились новые возможности. Теперь вы можете задать аватар, имя и случайный текст без создания собственных ресурсов. Это бывает полезно, когда ресурсы берутся из внешнего источника. Вам не нужно создавать временные ресурсы, которые увеличивают размер приложения и которые можно забыть удалить.

Например, можно задать изображение для ImageView:

Если у вас несколько ImageView, то изображения будут разными! Просмотреть весь набор можно в папке ..\plugins\android\lib\sampleData.

Можно задать текст для TextView:

Можно задать случайный фон

Пример применения некоторых атрибутов.

tools context android что это. Смотреть фото tools context android что это. Смотреть картинку tools context android что это. Картинка про tools context android что это. Фото tools context android что это

Но это ещё не всё. Если вас не устраивают изображения (там нет котов!) или тексты, предлагаемые студией, то можно задать свои изображения и тексты. Из контекстного меню папки res выбираем New | Sample Data Directory. В модуле app появится папка sampleData. Создайте текстовый файл с именем names и добавьте построчно различные имена: Барсик, Мурзик, Рыжик, Васька и т.д.

Заменим tools:text=»@tools:sample/full_names» на tools:text=»@sample/names». Теперь вместо непонятных иностранных имён будут отображаться правильные нормальные имена.

По такому же принципу можно создать собственные изображения для аватаров. В папке sampleData создайте подпапку avatars (имя произвольное) и разместите в ней нужные файлы изображений.

Можно создать сложный вариант сочетаний имён и городов. Опять в той же папке sampleData создаём JSON-файл следующего содержания.

Можете обращаться к созданному файлу через атрибуты:

Источник

Что такое «инструменты: контекст» в файлах макета Android?

начиная с последней новой версии ADT, я заметил этот новый атрибут в xml-файлах макета, например:

для чего используется» tools:context»?

как он даже знает точный путь к деятельности, которая там написана? Он смотрит на пакет приложения, внутри манифеста?

он ограничен классами, которые расширяют контекст или только действия? Можно ли использовать для элементов ListView и т. д.?

6 ответов

Это, скорее всего, действие, которое редактор инструментов UI использует для отображения вашего макета (он найдет правильную тему на основе действия). Это задокументировано здесь (примерно в середине статьи; подписаться на эту страницу, чтобы быть в курсе).

этот атрибут в основном является сохраняемостью для выбора «связанной активности» над макетом. Во время выполнения макет всегда связан с действием. Конечно, это может быть связано с несколькими, но по крайней мере с одним. В инструменте нам нужно знать об этом сопоставлении(которое во время выполнения происходит в другом направлении; действие может вызвать setContentView (layout) для отображения макета), чтобы управлять определенными функциями.

прямо сейчас, мы используем его для одной вещи только: выбор правильной темы для отображения макета (поскольку файл манифеста может регистрировать темы для использования в активность, и как только мы узнаем активность, связанную с макетом, мы можем выбрать правильную тему для отображения макета). В будущем мы будем использовать это для управления дополнительными функциями-такими как рендеринг панели действий (которая связана с активностью), место для добавления обработчиков onClick и т. д.

причина, по которой это атрибут tools: namespace заключается в том, что это это только отображение designtime для использования инструментом. Сам макет может использоваться несколькими действиями / фрагментами и т. д. Мы просто хотим дать вам способ выбрать привязку designtime, чтобы мы могли, например, показать правильную тему; вы можете изменить ее в любое время, так же как вы можете изменить наши привязки listview и fragment и т. д.

(вот полный набор изменений, который имеет более подробную информацию о этой)

и да, ссылке Николай, перечисленных выше показывает, как выглядит и работает новый выбор конфигурации

инструменты:контекст

этот атрибут обычно устанавливается на корневом элементе в xml-файле макета и записывает, с какой активностью связан макет (во время разработки, поскольку, очевидно, макет может использоваться более чем одним макетом). Это, например, будет использоваться редактором макета для угадывания темы по умолчанию, поскольку темы определены в манифесте и связаны с деятельность, а не макеты. Можно использовать тот же префикс точки, что и в манифестах, чтобы просто указать класс действия без полного имени пакета приложения в качестве префикса.

используется: редакторами макетов в Studio & Eclipse, Lint

1.Описание

некоторые люди видят, что поймут некоторые, некоторые люди видят, что также не знают, я добавлю несколько слов объяснения:

2.Образец

tools context android что это. Смотреть фото tools context android что это. Смотреть картинку tools context android что это. Картинка про tools context android что это. Фото tools context android что это

3.Специфический описание

1.The tools: context = «activity name» он не будет упакован в apk (понимание: эквивалент этого комментируется, скомпилированный эффект отсутствует.)

4.резюме

подводя итог, эти свойства главным образом направлены на над правыми инструментами, состояние отображения времени отладки симулятора и компиляция не работают,

«tools: context» является одним из атрибутов дизайна, который может облегчить создание макета в XML в рамках разработки. Этот атрибут используется для отображения платформы разработки, какой класс действия выбран для реализации макета. Используя «tools: context», Android Studio автоматически выбирает необходимую тему для предварительного просмотра.

Если вы хотите узнать больше о некоторых других атрибутах и полезных инструментах для разработки приложений для Android, ознакомьтесь с этим обзором: http://cases.azoft.com/4-must-know-tools-for-effective-android-development/

tools:context=».MainActivity» thisline используется в xml-файле, который указывает, какой исходный файл java используется для доступа к этому xml-файлу. это означает показывать этот XML-просмотра по определенным Java-файлы.

Источник

What is tools:context in Android layout files?

Whenever you create a project in Android Studio or add an activity in Android Studio, then in the layout file of your activity, you must have seen one line that is added automatically to your file, saying:

What is this used for? Do you have any idea? Don’t worry, in this blog, we will learn the need for tools:context in Android layout files. So, let’s get started.

Following is the code that is present(by default) in your layout file when you create an activity:

In the above code, the basic need of tools:context is to tell which activity or fragment the layout file is associated with by default. So, you can specify the activity class name using the same dot prefix as used in Manifest file.

The tools:context has a primary role in defining which Activity or Fragment class has instantiated the layout which is being defined.

By doing so, the Android Studio will choose the necessary theme for the preview automatically and you don’t have to do the preview settings manually. As we all know that a layout file can be associated with several activities but the themes are defined in the Manifest file and these themes are associated with your activity. So, by adding tools:context in your layout file, the Android Studio preview will automatically choose the necessary theme for you.

Apart from this, the tools:context is used for rendering the action bar or it can be used to find the correct place to insert the onClick handlers when you want to perform some click operations.

tools context android что это. Смотреть фото tools context android что это. Смотреть картинку tools context android что это. Картинка про tools context android что это. Фото tools context android что это

onClick handlers are an alternative of setOnClickListener().

We can summarize the whole concept by saying that tools:context attribute is used in the root element of the layout file and it tells which activity or fragment the layout file is associated with. It is used for a better preview of the current layout and views.

Hope you learned something new today.

Do share this blog with your fellow developers to spread the knowledge. You can read more blogs on Android on our blogging website.

Источник

Context в Android приложении

tools context android что это. Смотреть фото tools context android что это. Смотреть картинку tools context android что это. Картинка про tools context android что это. Фото tools context android что это

Что такое Context?

Как следует из названия, это контекст текущего состояния приложения или объекта. Это позволяет вновь созданным объектам понять, что вообще происходит. Обычно его вызывают, чтобы получить информацию о другой части программы.

Context присутствует практически повсюду в Android приложении и является самой важной его частью, поэтому необходимо понимать, как правильно его использовать.

Неправильное использование Context может легко привести к утечкам памяти в Android приложении.

Существует много разных типов контекста, поэтому давайте разберёмся, что каждый из них представляет из себя, как и когда их правильно использовать.

Контекст приложения

Например, если вам нужно создать singleton-объект для вашего приложения, и этому объекту нужен какой-нибудь контекст, всегда используйте контекст приложения.

Если вы передадите контекст Activity в этом случае, это приведет к утечке памяти, так как singleton-объект сохранит ссылку на Activity и она не будет уничтожена сборщиком мусора, когда это потребуется.

Таким образом, getApplicationContext() нужно использовать тогда, когда известно, что вам нужен контекст для чего-то, что может жить дольше, чем любой другой контекст, который есть в вашем распоряжении.

Контекст Activity

Этот контекст доступен в Activity и привязан к её жизненному циклу. Контекст Activity следует использовать, когда вы передаете контекст в рамках Activity или вам нужен контекст, жизненный цикл которого привязан к текущему контексту.

getContext() в ContentProvider

Когда нельзя использовать getApplicationContext()?

Правило большого пальца

В большинстве случаев используйте контекст, доступный непосредственно из компонента, в котором вы работаете в данный момент. Вы можете безопасно хранить ссылку на него, если она не выходит за пределы жизненного цикла этого компонента. Как только вам нужно сохранить ссылку на контекст в объекте, который живет за пределами вашей Activity или другого компонента, даже временно, используйте ссылку на контекст приложения.

Источник

lopspower / README.md

Android Tools Attributes

tools context android что это. Смотреть фото tools context android что это. Смотреть картинку tools context android что это. Картинка про tools context android что это. Фото tools context android что это

Android has a dedicated XML namespace intended for tools to be able to record information in XML files, and have that information stripped when the application is packaged such that there is no runtime or download size penalty. The namespace URI is http://schemas.android.com/tools and is usually bound to the tools: prefix:

This attribute can be set on any XML element, and is a comma separated list of lint issue ID’s that should be ignored on this element or any of its children, recursively.

This attribute is like the @TargetApi annotation in Java classes: it lets you specify an API level, either as an integer or as code name, that this element is known to be running on.

This attribute can be set on the root element in a resource value file and should correspond to a language and optionally a region. This will let tools know what language (locale) the strings in the file are assumed to be. For example, values/strings.xml can have this root element:

Now we know that the language used for strings in the default values folder is Spanish rather than English.

Used by: Lint, Studio (to disable spell checking in non-English resource files)

This attribute is typically set on the root element in a layout XML file, and records which activity the layout is associated with (at designtime, since obviously a layout can be used by more than one layout). This will for example be used by the layout editor to guess a default theme, since themes are defined in the Manifest and are associated with activities, not layouts. You can use the same dot prefix as in manifests to just specify the activity class without the full application package name as a prefix.

Used by: Layout editors in Studio & Eclipse, Lint

This attribute is typically set in a tag and is used to record which layout you want to see rendered at designtime (at runtime, this will be determined by the actions of the fragment class listed by the tag).

Used by: Layout editors in Studio & Eclipse

Used by: Layout editors in Studio & Eclipse

Used by: Layout editor in Studio

Used by: Layout editor in Studio

Attribute set on the root element of a layout to configure the navigation mode used by the Action Bar. Possible values include: «standard», «list» and «tabs» Requires Studio 0.8.0 or later.

Used by: Layout editor in Studio

The value is a comma separated list of resource references (and a globbing pattern is allowed.)

When using resource shrinking to automatically strip out unused resources, you can specify specific resources to discard (typically because the resource is referenced in some way that you know does not affect your app, or the Gradle plugin has incorrectly deduced that the resource is referenced (which can happen because resource identifiers are inlined by the compiler, so the resource analyzer can’t tell the difference between a genuinely referenced resource and an integer value in the program that happens to have the same value.)

The value is a comma separated list of resource references (and a globbing pattern is allowed.)

Other: Designtime Attributes

In layouts, any other attribute can be aliasing a builtin Android attribute. For example, this can let you set a designtime-only alternate text which is used in the tools, but not at runtime. For more, see Designtime Layout Attributes.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *