From e582d39b6bea4342235a1edc292739d3d2015386 Mon Sep 17 00:00:00 2001 From: manabu-nakamura Date: Wed, 6 May 2026 09:48:47 +0900 Subject: [PATCH] [Catalog][ButtonGroup] Make overflow icons easier to see --- .../catalog/button/ButtonGroupRuntimeDemoFragment.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/catalog/java/io/material/catalog/button/ButtonGroupRuntimeDemoFragment.java b/catalog/java/io/material/catalog/button/ButtonGroupRuntimeDemoFragment.java index 54f8c1be410..3daa95df4a1 100644 --- a/catalog/java/io/material/catalog/button/ButtonGroupRuntimeDemoFragment.java +++ b/catalog/java/io/material/catalog/button/ButtonGroupRuntimeDemoFragment.java @@ -24,6 +24,7 @@ import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -32,6 +33,7 @@ import android.widget.LinearLayout.LayoutParams; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; import com.google.android.material.button.MaterialButton; import com.google.android.material.button.MaterialButtonGroup; import com.google.android.material.materialswitch.MaterialSwitch; @@ -44,6 +46,7 @@ public class ButtonGroupRuntimeDemoFragment extends DemoFragment { private static final int MAX_COUNT = 10; private final String[] labels = new String[MAX_COUNT]; private final Drawable[] icons = new Drawable[MAX_COUNT]; + private final Drawable[] overflowIcons = new Drawable[MAX_COUNT]; private MaterialButtonGroup buttonGroup; private int buttonCount; private Button addButton; @@ -138,7 +141,7 @@ private void addButton(@NonNull Context context) { MaterialButtonGroup.LayoutParams lp = (MaterialButtonGroup.LayoutParams) button.getLayoutParams(); lp.overflowText = labels[buttonCount]; - lp.overflowIcon = icons[buttonCount]; + lp.overflowIcon = overflowIcons[buttonCount]; } private void loadResources() { @@ -148,10 +151,15 @@ private void loadResources() { } labelsRes.recycle(); TypedArray iconsRes = getResources().obtainTypedArray(R.array.cat_button_group_dynamic_icons); + TypedValue typedValue = new TypedValue(); + getContext().getTheme().resolveAttribute(android.R.attr.colorControlNormal, typedValue, true); + int tintColor = ContextCompat.getColor(getContext(), typedValue.resourceId); for (int i = 0; i < MAX_COUNT; i++) { int iconId = iconsRes.getResourceId(i % iconsRes.length(), 0); if (iconId != 0) { icons[i] = getResources().getDrawable(iconId); + overflowIcons[i] = getResources().getDrawable(iconId); + overflowIcons[i].mutate().setTint(tintColor); } } iconsRes.recycle();