Skip to content

Commit c1a432f

Browse files
leticiarossikendrickumstattd
authored andcommitted
[OverflowLinearLayout] Modify some layout params overriden methods.
PiperOrigin-RevId: 761677407
1 parent 1adc501 commit c1a432f

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

lib/java/com/google/android/material/overflow/OverflowLinearLayout.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,8 +288,13 @@ private void handleOverflowButtonClick(PopupMenu popupMenu, int overflowItemIcon
288288
@Override
289289
@NonNull
290290
protected OverflowLinearLayout.LayoutParams generateDefaultLayoutParams() {
291-
return new OverflowLinearLayout.LayoutParams(
291+
if (getOrientation() == HORIZONTAL) {
292+
return new OverflowLinearLayout.LayoutParams(
292293
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
294+
} else {
295+
return new OverflowLinearLayout.LayoutParams(
296+
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
297+
}
293298
}
294299

295300
@Override
@@ -302,7 +307,15 @@ public LayoutParams generateLayoutParams(@Nullable AttributeSet attrs) {
302307
@NonNull
303308
protected OverflowLinearLayout.LayoutParams generateLayoutParams(
304309
@NonNull ViewGroup.LayoutParams p) {
305-
return new OverflowLinearLayout.LayoutParams(p);
310+
if (p instanceof LayoutParams) {
311+
return new OverflowLinearLayout.LayoutParams(p);
312+
} else if (p instanceof LinearLayout.LayoutParams) {
313+
return new OverflowLinearLayout.LayoutParams((LinearLayout.LayoutParams) p);
314+
} else if (p instanceof MarginLayoutParams) {
315+
return new OverflowLinearLayout.LayoutParams((MarginLayoutParams) p);
316+
} else {
317+
return new OverflowLinearLayout.LayoutParams(p);
318+
}
306319
}
307320

308321
@Override

0 commit comments

Comments
 (0)