หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
This guide lists all of the currently supported Android layout diagnostic analyzers.
Accessibility
The following analyzers help to improve accessibility support:
| ID | Title | Severity | Description |
|---|---|---|---|
| ContentDescription | Image without contentDescription |
Warning | Missing contentDescription attribute on image |
Correctness
The following analyzers help fix correctness issues in a layout:
| ID | Title | Severity | Description | Help |
|---|---|---|---|---|
| AdapterViewChildren | AdapterView with children | Warning | AdapterViews cannot have children in XML | Link |
| MissingId | Fragments should specify an id or tag |
Warning | This <fragment> tag should specify an id or a tag to preserve state across activity restarts |
Link |
| NestedScrollingVertical | Nested vertically scrolling elements | Warning | Nested scrolling widgets | |
| NestedScrollingHorizontal | Nested horizontally scrolling elements | Warning | Nested scrolling widgets | |
| ScrollViewSize | ScrollView children with wrong fill_parent/match_parent sizes | Warning | ScrollView children with wrong fill_parent/match_parent sizes | |
| ScrollViewCount | ScrollViews can have only one child | Warning | A scroll view can have only one child | |
| MissingAndroidNamespace | Missing Android namespace on attribute | Error | Missing Android XML namespace; your attribute will be interpreted as a custom attribute | |
| DuplicateIDs | Duplicate IDs | Error | Duplicate ids within a single layout | |
| IncludeLayoutParamsMissingWidthAndHeight | Missing both width and height | Error | Ignored layout params on include | Link |
| IncludeLayoutParamsMissingWidth | Missing width | Error | Ignored layout params on include | Link |
| IncludeLayoutParamsMissingHeight | Missing height | Error | Ignored layout params on include | Link |
| Orientation | Missing explicit orientation | Error | Missing explicit orientation | |
| Suspicious0dp | Suspicious 0dp dimension | Error | Suspicious 0dp dimension | |
| RequiredSizeWidth | Missing width attribute | Error | Missing attribute: layout_width | |
| RequiredSizeHeight | Missing height attribute | Error | Missing attribute: layout_height | |
| WebViewLayout | WebViews in wrap_content parents | Error | ||
| WrongCase | Wrong case for view tag | Error | Wrong case for view tag | Link |
Design
The following analyzers help to improve how you join layout files:
| ID | Title | Severity | Description |
|---|---|---|---|
| HardcodedColor | Hardcoded color | Info | Hardcoded color often leads to inconsistency |
| HardcodedSize | Hardcoded size | Info | Hardcoded size often leads to inconsistency |
| HardcodedText | Hardcoded text | Warning | Hardcoded text |
| UnresolvedResource | Unresolved resource URL | Warning | This resource URL cannot be resolved |
| XmlErrors | XML syntax error | Error | XML syntax error |
Performance
The following analyzers help improve the performance of your layout:
| ID | Title | Severity | Description |
|---|---|---|---|
| NestedWeights | Nested layout weights | Warning | Nested weights are bad for performance |
| TooManyViews | Layout has too many views | Warning | Layout has too many views |
| TooDeepLayout | Layout hierarchy is too deep | Warning | Layout hierarchy is too deep |
| UselessParent | Useless parent layout | Warning | Useless parent layout |
| UselessLeaf | Useless leaf layout | Warning | This %1$s view is useless (no children, no background, no id, no style) |
Usability
The following analyzers help improve layout usability for your customers:
| ID | Title | Severity | Description |
|---|---|---|---|
| NegativeMargin | Negative Margins | Warning | Negative Margins |
| MissingInputType | EditText with no inputType | Warning | No input type specified |
| InputTypePhone | EditText appears to be a phone number | Warning | The view name suggests this is a phone number, but it does not include phone in the inputType |
| InputTypeNumber | EditText appears to be a number | Warning | The view name suggests this is a number, but it does not include a numeric inputType (such as numberDecimal) |
| InputTypePassword | EditText appears to be a password | Warning | The view name suggests this is a password, but it does not include password in the inputType (such as textVisiblePassword) |
| InputTypePIN | EditText appears to be a PIN | Warning | The view name suggests this is a password (PIN), but it does not include numberPassword in the inputType |
| InputTypeEmail | EditText appears to be an email | Warning | The view name suggests this is an e-mail address, but it does not include email in the inputType (such as textEmailAddress) |
| InputTypeURI | EditText appears to be a URI | Warning | The view name suggests this is a URI, but it does not include textUri in the inputType |
| InputTypeDate | EditText appears to be a date | Warning | The view name suggests this is a date, but it does not include date in the inputType (such as datetime) |