diff options
2 files changed, 18 insertions, 1 deletions
diff --git a/lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/inefficient_weight.xml b/lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/inefficient_weight.xml index 058fde1..196e00b 100644 --- a/lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/inefficient_weight.xml +++ b/lint/cli/src/test/java/com/android/tools/lint/checks/data/res/layout/inefficient_weight.xml @@ -41,4 +41,20 @@ </LinearLayout> + <LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + style="@style/MyStyle" + android:layout_width="match_parent" + android:layout_height="match_parent"> + <Button + android:layout_width="match_parent" + android:layout_height="wrap_content" /> + + <Button + android:layout_width="match_parent" + android:layout_height="wrap_content" /> + + </LinearLayout> + + </LinearLayout>
\ No newline at end of file diff --git a/lint/libs/lint_checks/src/main/java/com/android/tools/lint/checks/InefficientWeightDetector.java b/lint/libs/lint_checks/src/main/java/com/android/tools/lint/checks/InefficientWeightDetector.java index fefe461..0608de1 100644 --- a/lint/libs/lint_checks/src/main/java/com/android/tools/lint/checks/InefficientWeightDetector.java +++ b/lint/libs/lint_checks/src/main/java/com/android/tools/lint/checks/InefficientWeightDetector.java @@ -22,6 +22,7 @@ import static com.android.SdkConstants.ATTR_LAYOUT_HEIGHT; import static com.android.SdkConstants.ATTR_LAYOUT_WEIGHT; import static com.android.SdkConstants.ATTR_LAYOUT_WIDTH; import static com.android.SdkConstants.ATTR_ORIENTATION; +import static com.android.SdkConstants.ATTR_STYLE; import static com.android.SdkConstants.LINEAR_LAYOUT; import static com.android.SdkConstants.RADIO_GROUP; import static com.android.SdkConstants.VALUE_FILL_PARENT; @@ -215,7 +216,7 @@ public class InefficientWeightDetector extends LayoutDetector { } } } - if (maxWidthSet) { + if (maxWidthSet && !element.hasAttribute(ATTR_STYLE)) { String message = "Wrong orientation? No orientation specified, and the default " + "is horizontal, yet this layout has multiple children where at " + "least one has layout_width=\"match_parent\""; |