summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/MenuInflater.java
diff options
context:
space:
mode:
authorChris Banes <chrisbanes@google.com>2015-02-23 12:30:13 +0000
committerChris Banes <chrisbanes@google.com>2015-02-27 08:56:04 +0000
commit9cc36ca1b520c06f882e84b909f3a2b75d303a06 (patch)
tree64778fc1ebedd614503fbea1e81a8dd1cf8f942b /core/java/android/view/MenuInflater.java
parent1b4b87c2aec1ea5487e7279e92114bb1dca013b6 (diff)
downloadframeworks_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.java32
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() {