diff options
| author | Chris Banes <chrisbanes@google.com> | 2015-02-23 12:30:13 +0000 |
|---|---|---|
| committer | Chris Banes <chrisbanes@google.com> | 2015-02-27 08:56:04 +0000 |
| commit | 9cc36ca1b520c06f882e84b909f3a2b75d303a06 (patch) | |
| tree | 64778fc1ebedd614503fbea1e81a8dd1cf8f942b /core/java/android/view/MenuInflater.java | |
| parent | 1b4b87c2aec1ea5487e7279e92114bb1dca013b6 (diff) | |
| download | frameworks_base-9cc36ca1b520c06f882e84b909f3a2b75d303a06.zip frameworks_base-9cc36ca1b520c06f882e84b909f3a2b75d303a06.tar.gz frameworks_base-9cc36ca1b520c06f882e84b909f3a2b75d303a06.tar.bz2 | |
MenuItem, navigation and overflow icon tinting
- iconTint and iconTintMode attrs for MenuItem, with
associated setters.
- navigationTint and navigationTintMode attrs for Toolbar
with associated setters.
- overlflowTint and overflowTintMode attrs for Toolbar
with associated setters.
BUG: 18126050
BUG: 19148351
BUG: 19305408
Change-Id: Ibd1fae7cdbc7a7c42809e52541fae5d8beb18e92
Diffstat (limited to 'core/java/android/view/MenuInflater.java')
| -rw-r--r-- | core/java/android/view/MenuInflater.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/core/java/android/view/MenuInflater.java b/core/java/android/view/MenuInflater.java index 3492aa0..b49a59e 100644 --- a/core/java/android/view/MenuInflater.java +++ b/core/java/android/view/MenuInflater.java @@ -25,8 +25,11 @@ import android.annotation.MenuRes; import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; +import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; +import android.graphics.PorterDuff; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Log; import android.util.Xml; @@ -334,6 +337,11 @@ public class MenuInflater { private ActionProvider itemActionProvider; + private ColorStateList itemIconTintList; + private boolean itemIconTintListSet; + private PorterDuff.Mode itemIconTintMode; + private boolean itemIconTintModeSet; + private static final int defaultGroupId = NO_ID; private static final int defaultItemId = NO_ID; private static final int defaultItemCategory = 0; @@ -424,6 +432,23 @@ public class MenuInflater { itemActionProvider = null; } + if (a.hasValueOrEmpty(com.android.internal.R.styleable.MenuItem_iconTint)) { + itemIconTintList = a.getColorStateList( + com.android.internal.R.styleable.MenuItem_iconTint); + itemIconTintListSet = true; + } else { + itemIconTintList = null; + itemIconTintListSet = false; + } + if (a.hasValueOrEmpty(com.android.internal.R.styleable.MenuItem_iconTintMode)) { + itemIconTintMode = Drawable.parseTintMode( + a.getInt(com.android.internal.R.styleable.MenuItem_iconTintMode, -1), null); + itemIconTintModeSet = true; + } else { + itemIconTintMode = null; + itemIconTintModeSet = false; + } + a.recycle(); itemAdded = false; @@ -486,6 +511,13 @@ public class MenuInflater { if (itemActionProvider != null) { item.setActionProvider(itemActionProvider); } + + if (itemIconTintListSet) { + item.setIconTintList(itemIconTintList); + } + if (itemIconTintModeSet) { + item.setIconTintMode(itemIconTintMode); + } } public MenuItem addItem() { |
