Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В этом руководстве перечислены все поддерживаемые в настоящее время анализаторы диагностики макета Android.
Специальные возможности
Следующие анализаторы помогают улучшить поддержку специальных возможностей:
| Идентификатор | Заголовок | Статус | Description |
|---|---|---|---|
| ContentDescription | Изображение без contentDescription |
Предупреждение | Отсутствующий атрибут на изображении contentDescription |
Правильность
Следующие анализаторы помогают устранить проблемы с правильностью в макете:
| Идентификатор | Заголовок | Статус | Description | Справка |
|---|---|---|---|---|
| AdapterViewChildren | AdapterView с дочерними элементами | Предупреждение | Объекты AdapterView не могут содержать дочерние элементы в XML | Ссылка |
| MissingId | Фрагменты должны указывать или idtag |
Предупреждение | Этот <fragment> тег должен указать id или tag сохранить состояние при перезапусках действий. |
Ссылка |
| NestedScrollingVertical | Вложенные элементы вертикальной прокрутки | Предупреждение | Вложенные мини-приложения прокрутки | |
| NestedScrollingHorizontal | Вложенные элементы горизонтальной прокрутки | Предупреждение | Вложенные мини-приложения прокрутки | |
| ScrollViewSize | Дочерние элементы ScrollView с неправильными размерами fill_parent/match_parent | Предупреждение | Дочерние элементы ScrollView с неправильными размерами fill_parent/match_parent | |
| ScrollViewCount | ScrollViews может иметь только один дочерний элемент | Предупреждение | Представление прокрутки может иметь только один дочерний элемент | |
| MissingAndroidNamespace | Отсутствует пространство имен Android в атрибуте | Ошибка | Отсутствует пространство имен ANDROID XML; атрибут будет интерпретирован как настраиваемый атрибут. | |
| Повторяющиеся идентификаторы | Повторяющиеся идентификаторы | Ошибка | Повторяющиеся идентификаторы в одном макете | |
| IncludeLayoutParamsMissingWidthAndHeight | Отсутствует ширина и высота | Ошибка | Пропущенные параметры макета для включения | Ссылка |
| IncludeLayoutParamsMissingWidth | Недостающая ширина | Ошибка | Пропущенные параметры макета для включения | Ссылка |
| IncludeLayoutParamsMissingHeight | Недостающая высота | Ошибка | Пропущенные параметры макета для включения | Ссылка |
| Ориентация | Отсутствует явная ориентация | Ошибка | Отсутствует явная ориентация | |
| Подозрительный | Подозрительное измерение 0dp | Ошибка | Подозрительное измерение 0dp | |
| RequiredSizeWidth | Отсутствующий атрибут ширины | Ошибка | Отсутствующий атрибут: layout_width | |
| RequiredSizeHeight | Отсутствующий атрибут высоты | Ошибка | Отсутствующий атрибут: layout_height | |
| WebViewLayout | WebViews в родителях wrap_content | Ошибка | ||
| Неправильный Регистр | Неправильный случай для тега представления | Ошибка | Неправильный случай для тега представления | Ссылка |
Проект
Следующие анализаторы помогают улучшить присоединение файлов макета:
| Идентификатор | Заголовок | Статус | Description |
|---|---|---|---|
| HardcodedColor | Жестко закодированный цвет | Сведения | Жестко закодированный цвет часто приводит к несоответствию |
| HardcodedSize | Размер жесткого кода | Сведения | Жестко закодированный размер часто приводит к несоответствию |
| HardcodedText | Жестко закодированный текст | Предупреждение | Жестко закодированный текст |
| Неразрешеннаяresource | URL-адрес неразрешенного ресурса | Предупреждение | Этот URL-адрес ресурса не может быть разрешен |
| XmlErrors | Ошибка синтаксиса XML | Ошибка | Ошибка синтаксиса XML |
Производительность
Следующие анализаторы помогают повысить производительность макета:
| Идентификатор | Заголовок | Статус | Description |
|---|---|---|---|
| Вложенные весы | Вес вложенных макетов | Предупреждение | Вложенные весы плохо для производительности |
| TooManyViews | Макет имеет слишком много представлений | Предупреждение | Макет имеет слишком много представлений |
| TooDeepLayout | Иерархия макетов слишком глубока | Предупреждение | Иерархия макетов слишком глубока |
| UselessParent | Бесполезный родительский макет | Предупреждение | Бесполезный родительский макет |
| UselessLeaf | Неопотребимый конечный макет | Предупреждение | Это %1$s представление бесполезно (нет дочерних элементов, нет background, нет id, нет style) |
Удобство использования
Следующие анализаторы помогают улучшить удобство использования макета для клиентов:
| Идентификатор | Заголовок | Статус | Description |
|---|---|---|---|
| Отрицательный Маргин | Отрицательные поля | Предупреждение | Отрицательные поля |
| MissingInputType | EditText без inputType | Предупреждение | Входной тип не указан |
| InputType Телефон | EditText, как представляется, номер телефона | Предупреждение | Имя представления предполагает, что это номер телефона, но он не включается phone в inputType |
| InputTypeNumber | EditText, как представляется, является числом | Предупреждение | Имя представления предполагает, что это число, но оно не включает число inputType (например numberDecimal) |
| InputTypePassword | EditText, как представляется, является паролем | Предупреждение | Имя представления предполагает, что это пароль, но он не включается password в inputType (например textVisiblePassword) |
| InputTypePIN | EditText, как представляется, пин-код | Предупреждение | Имя представления предполагает, что это пароль (ПИН-код), но он не включается numberPassword в inputType |
| InputTypeEmail | EditText, как представляется, является сообщением электронной почты | Предупреждение | Имя представления предполагает, что это адрес электронной почты, но он не включается email в inputType (например textEmailAddress) |
| InputTypeURI | EditText, как представляется, является универсальным кодом ресурса (URI) | Предупреждение | Имя представления предполагает, что это универсальный код ресурса (URI), но он не включается textUri в inputType |
| InputTypeDate | EditText, как представляется, дата | Предупреждение | Имя представления предполагает, что это дата, но она не включается date в inputType (например datetime) |