diff options
author | cyBerta <cyberta@riseup.net> | 2023-10-23 17:34:57 +0200 |
---|---|---|
committer | cyBerta <cyberta@riseup.net> | 2023-10-23 17:34:57 +0200 |
commit | 4e563004800af71d326077c8a4de4bee598fd336 (patch) | |
tree | 809f451b6d729d0a5bad0f0ef4017b94f97356e2 /app/src/main/java/se/leap/bitmaskclient/base/utils | |
parent | 9ad95a20f7500e3b52ae0cc50609635e8c73205f (diff) |
tint actionbar subtitle and icons according to actionbar title color
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/base/utils')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/base/utils/ViewHelper.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/utils/ViewHelper.java b/app/src/main/java/se/leap/bitmaskclient/base/utils/ViewHelper.java index ebf26048..ed7bd9f2 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/utils/ViewHelper.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/utils/ViewHelper.java @@ -9,10 +9,13 @@ import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; import android.text.Spannable; import android.text.SpannableString; import android.text.style.ForegroundColorSpan; import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; import android.view.View; import android.view.Window; import android.view.WindowManager; @@ -24,7 +27,9 @@ import androidx.annotation.NonNull; import androidx.annotation.StringRes; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; import androidx.fragment.app.Fragment; import se.leap.bitmaskclient.R; @@ -116,6 +121,12 @@ public class ViewHelper { if (customView instanceof ActionBarTitle) { ActionBarTitle actionBarTitle = (ActionBarTitle) customView; actionBarTitle.setTitleTextColor(ContextCompat.getColor(bar.getThemedContext(), actionBarTextColor)); + actionBarTitle.setSubtitleTextColor(ContextCompat.getColor(bar.getThemedContext(), actionBarTextColor)); + } + + Toolbar tb = activity.findViewById(R.id.toolbar); + if (tb != null && tb.getOverflowIcon() != null) { + tb.getOverflowIcon().setTint(ContextCompat.getColor(bar.getThemedContext(), actionBarTextColor)); } } @@ -139,6 +150,17 @@ public class ViewHelper { return rtnValue; } + public static void tintMenuIcons(Context context, Menu menu, @ColorRes int color) { + for (int i = 0; i < menu.size(); i++) { + MenuItem item = menu.getItem(i); + Drawable normalDrawable = item.getIcon(); + Drawable wrapDrawable = DrawableCompat.wrap(normalDrawable); + DrawableCompat.setTint(wrapDrawable, context.getResources().getColor(color)); + + item.setIcon(wrapDrawable); + } + } + public static void setActionBarTextColor(ActionBar bar, @ColorRes int titleColor) { CharSequence titleCharSequence = bar.getTitle(); if (titleCharSequence == null || titleCharSequence.length() == 0) { |