am dbdaa9b4: Merge "API council review feedback for ActionMenuView" into mnc-dev
* commit 'dbdaa9b41e418437ec29f7ea2fa27b859b3bef14': API council review feedback for ActionMenuView
This commit is contained in:
@@ -222,6 +222,12 @@ package android {
|
||||
ctor public R.attr();
|
||||
field public static final int __reserved0 = 16844020; // 0x10104f4
|
||||
field public static final int __reserved1 = 16844019; // 0x10104f3
|
||||
field public static final int __reserved2 = 16843999; // 0x10104df
|
||||
field public static final int __reserved3 = 16844000; // 0x10104e0
|
||||
field public static final int __reserved4 = 16844001; // 0x10104e1
|
||||
field public static final int __reserved5 = 16844002; // 0x10104e2
|
||||
field public static final int __reserved6 = 16844003; // 0x10104e3
|
||||
field public static final int __reserved7 = 16844004; // 0x10104e4
|
||||
field public static final int absListViewStyle = 16842858; // 0x101006a
|
||||
field public static final int accessibilityEventTypes = 16843648; // 0x1010380
|
||||
field public static final int accessibilityFeedbackType = 16843650; // 0x1010382
|
||||
@@ -661,8 +667,6 @@ package android {
|
||||
field public static final int hyphenationFrequency = 16844024; // 0x10104f8
|
||||
field public static final int icon = 16842754; // 0x1010002
|
||||
field public static final int iconPreview = 16843337; // 0x1010249
|
||||
field public static final int iconTint = 16843999; // 0x10104df
|
||||
field public static final int iconTintMode = 16844000; // 0x10104e0
|
||||
field public static final int iconifiedByDefault = 16843514; // 0x10102fa
|
||||
field public static final int id = 16842960; // 0x10100d0
|
||||
field public static final int ignoreGravity = 16843263; // 0x10101ff
|
||||
@@ -874,8 +878,6 @@ package android {
|
||||
field public static final int navigationContentDescription = 16843969; // 0x10104c1
|
||||
field public static final int navigationIcon = 16843968; // 0x10104c0
|
||||
field public static final int navigationMode = 16843471; // 0x10102cf
|
||||
field public static final int navigationTint = 16844003; // 0x10104e3
|
||||
field public static final int navigationTintMode = 16844004; // 0x10104e4
|
||||
field public static final int negativeButtonText = 16843254; // 0x10101f6
|
||||
field public static final int nestedScrollingEnabled = 16843830; // 0x1010436
|
||||
field public static final int nextFocusDown = 16842980; // 0x10100e4
|
||||
@@ -907,8 +909,6 @@ package android {
|
||||
field public static final int overScrollFooter = 16843459; // 0x10102c3
|
||||
field public static final int overScrollHeader = 16843458; // 0x10102c2
|
||||
field public static final int overScrollMode = 16843457; // 0x10102c1
|
||||
field public static final int overflowTint = 16844001; // 0x10104e1
|
||||
field public static final int overflowTintMode = 16844002; // 0x10104e2
|
||||
field public static final int overlapAnchor = 16843874; // 0x1010462
|
||||
field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2
|
||||
field public static final int packageNames = 16843649; // 0x1010381
|
||||
@@ -35492,8 +35492,6 @@ package android.view {
|
||||
method public abstract android.view.MenuItem setEnabled(boolean);
|
||||
method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
|
||||
method public abstract android.view.MenuItem setIcon(int);
|
||||
method public abstract android.view.MenuItem setIconTintList(android.content.res.ColorStateList);
|
||||
method public abstract android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode);
|
||||
method public abstract android.view.MenuItem setIntent(android.content.Intent);
|
||||
method public abstract android.view.MenuItem setNumericShortcut(char);
|
||||
method public abstract android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener);
|
||||
@@ -39554,14 +39552,14 @@ package android.widget {
|
||||
ctor public ActionMenuView(android.content.Context, android.util.AttributeSet);
|
||||
method public void dismissPopupMenus();
|
||||
method public android.view.Menu getMenu();
|
||||
method public android.graphics.drawable.Drawable getOverflowIcon();
|
||||
method public int getPopupTheme();
|
||||
method public boolean hideOverflowMenu();
|
||||
method public boolean isOverflowMenuShowing();
|
||||
method public void onConfigurationChanged(android.content.res.Configuration);
|
||||
method public void onDetachedFromWindow();
|
||||
method public void setOnMenuItemClickListener(android.widget.ActionMenuView.OnMenuItemClickListener);
|
||||
method public void setOverflowTintList(android.content.res.ColorStateList);
|
||||
method public void setOverflowTintMode(android.graphics.PorterDuff.Mode);
|
||||
method public void setOverflowIcon(android.graphics.drawable.Drawable);
|
||||
method public void setPopupTheme(int);
|
||||
method public boolean showOverflowMenu();
|
||||
}
|
||||
@@ -41851,6 +41849,7 @@ package android.widget {
|
||||
method public android.view.Menu getMenu();
|
||||
method public java.lang.CharSequence getNavigationContentDescription();
|
||||
method public android.graphics.drawable.Drawable getNavigationIcon();
|
||||
method public android.graphics.drawable.Drawable getOverflowIcon();
|
||||
method public int getPopupTheme();
|
||||
method public java.lang.CharSequence getSubtitle();
|
||||
method public java.lang.CharSequence getTitle();
|
||||
@@ -41870,11 +41869,8 @@ package android.widget {
|
||||
method public void setNavigationIcon(int);
|
||||
method public void setNavigationIcon(android.graphics.drawable.Drawable);
|
||||
method public void setNavigationOnClickListener(android.view.View.OnClickListener);
|
||||
method public void setNavigationTintList(android.content.res.ColorStateList);
|
||||
method public void setNavigationTintMode(android.graphics.PorterDuff.Mode);
|
||||
method public void setOnMenuItemClickListener(android.widget.Toolbar.OnMenuItemClickListener);
|
||||
method public void setOverflowTintList(android.content.res.ColorStateList);
|
||||
method public void setOverflowTintMode(android.graphics.PorterDuff.Mode);
|
||||
method public void setOverflowIcon(android.graphics.drawable.Drawable);
|
||||
method public void setPopupTheme(int);
|
||||
method public void setSubtitle(int);
|
||||
method public void setSubtitle(java.lang.CharSequence);
|
||||
|
||||
@@ -297,6 +297,12 @@ package android {
|
||||
ctor public R.attr();
|
||||
field public static final int __reserved0 = 16844020; // 0x10104f4
|
||||
field public static final int __reserved1 = 16844019; // 0x10104f3
|
||||
field public static final int __reserved2 = 16843999; // 0x10104df
|
||||
field public static final int __reserved3 = 16844000; // 0x10104e0
|
||||
field public static final int __reserved4 = 16844001; // 0x10104e1
|
||||
field public static final int __reserved5 = 16844002; // 0x10104e2
|
||||
field public static final int __reserved6 = 16844003; // 0x10104e3
|
||||
field public static final int __reserved7 = 16844004; // 0x10104e4
|
||||
field public static final int absListViewStyle = 16842858; // 0x101006a
|
||||
field public static final int accessibilityEventTypes = 16843648; // 0x1010380
|
||||
field public static final int accessibilityFeedbackType = 16843650; // 0x1010382
|
||||
@@ -736,8 +742,6 @@ package android {
|
||||
field public static final int hyphenationFrequency = 16844024; // 0x10104f8
|
||||
field public static final int icon = 16842754; // 0x1010002
|
||||
field public static final int iconPreview = 16843337; // 0x1010249
|
||||
field public static final int iconTint = 16843999; // 0x10104df
|
||||
field public static final int iconTintMode = 16844000; // 0x10104e0
|
||||
field public static final int iconifiedByDefault = 16843514; // 0x10102fa
|
||||
field public static final int id = 16842960; // 0x10100d0
|
||||
field public static final int ignoreGravity = 16843263; // 0x10101ff
|
||||
@@ -949,8 +953,6 @@ package android {
|
||||
field public static final int navigationContentDescription = 16843969; // 0x10104c1
|
||||
field public static final int navigationIcon = 16843968; // 0x10104c0
|
||||
field public static final int navigationMode = 16843471; // 0x10102cf
|
||||
field public static final int navigationTint = 16844003; // 0x10104e3
|
||||
field public static final int navigationTintMode = 16844004; // 0x10104e4
|
||||
field public static final int negativeButtonText = 16843254; // 0x10101f6
|
||||
field public static final int nestedScrollingEnabled = 16843830; // 0x1010436
|
||||
field public static final int nextFocusDown = 16842980; // 0x10100e4
|
||||
@@ -982,8 +984,6 @@ package android {
|
||||
field public static final int overScrollFooter = 16843459; // 0x10102c3
|
||||
field public static final int overScrollHeader = 16843458; // 0x10102c2
|
||||
field public static final int overScrollMode = 16843457; // 0x10102c1
|
||||
field public static final int overflowTint = 16844001; // 0x10104e1
|
||||
field public static final int overflowTintMode = 16844002; // 0x10104e2
|
||||
field public static final int overlapAnchor = 16843874; // 0x1010462
|
||||
field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2
|
||||
field public static final int packageNames = 16843649; // 0x1010381
|
||||
@@ -37772,8 +37772,6 @@ package android.view {
|
||||
method public abstract android.view.MenuItem setEnabled(boolean);
|
||||
method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
|
||||
method public abstract android.view.MenuItem setIcon(int);
|
||||
method public abstract android.view.MenuItem setIconTintList(android.content.res.ColorStateList);
|
||||
method public abstract android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode);
|
||||
method public abstract android.view.MenuItem setIntent(android.content.Intent);
|
||||
method public abstract android.view.MenuItem setNumericShortcut(char);
|
||||
method public abstract android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener);
|
||||
@@ -42148,14 +42146,14 @@ package android.widget {
|
||||
ctor public ActionMenuView(android.content.Context, android.util.AttributeSet);
|
||||
method public void dismissPopupMenus();
|
||||
method public android.view.Menu getMenu();
|
||||
method public android.graphics.drawable.Drawable getOverflowIcon();
|
||||
method public int getPopupTheme();
|
||||
method public boolean hideOverflowMenu();
|
||||
method public boolean isOverflowMenuShowing();
|
||||
method public void onConfigurationChanged(android.content.res.Configuration);
|
||||
method public void onDetachedFromWindow();
|
||||
method public void setOnMenuItemClickListener(android.widget.ActionMenuView.OnMenuItemClickListener);
|
||||
method public void setOverflowTintList(android.content.res.ColorStateList);
|
||||
method public void setOverflowTintMode(android.graphics.PorterDuff.Mode);
|
||||
method public void setOverflowIcon(android.graphics.drawable.Drawable);
|
||||
method public void setPopupTheme(int);
|
||||
method public boolean showOverflowMenu();
|
||||
}
|
||||
@@ -44445,6 +44443,7 @@ package android.widget {
|
||||
method public android.view.Menu getMenu();
|
||||
method public java.lang.CharSequence getNavigationContentDescription();
|
||||
method public android.graphics.drawable.Drawable getNavigationIcon();
|
||||
method public android.graphics.drawable.Drawable getOverflowIcon();
|
||||
method public int getPopupTheme();
|
||||
method public java.lang.CharSequence getSubtitle();
|
||||
method public java.lang.CharSequence getTitle();
|
||||
@@ -44464,11 +44463,8 @@ package android.widget {
|
||||
method public void setNavigationIcon(int);
|
||||
method public void setNavigationIcon(android.graphics.drawable.Drawable);
|
||||
method public void setNavigationOnClickListener(android.view.View.OnClickListener);
|
||||
method public void setNavigationTintList(android.content.res.ColorStateList);
|
||||
method public void setNavigationTintMode(android.graphics.PorterDuff.Mode);
|
||||
method public void setOnMenuItemClickListener(android.widget.Toolbar.OnMenuItemClickListener);
|
||||
method public void setOverflowTintList(android.content.res.ColorStateList);
|
||||
method public void setOverflowTintMode(android.graphics.PorterDuff.Mode);
|
||||
method public void setOverflowIcon(android.graphics.drawable.Drawable);
|
||||
method public void setPopupTheme(int);
|
||||
method public void setSubtitle(int);
|
||||
method public void setSubtitle(java.lang.CharSequence);
|
||||
|
||||
@@ -25,11 +25,8 @@ 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;
|
||||
@@ -337,11 +334,6 @@ 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;
|
||||
@@ -432,23 +424,6 @@ 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;
|
||||
@@ -511,13 +486,6 @@ public class MenuInflater {
|
||||
if (itemActionProvider != null) {
|
||||
item.setActionProvider(itemActionProvider);
|
||||
}
|
||||
|
||||
if (itemIconTintListSet) {
|
||||
item.setIconTintList(itemIconTintList);
|
||||
}
|
||||
if (itemIconTintModeSet) {
|
||||
item.setIconTintMode(itemIconTintMode);
|
||||
}
|
||||
}
|
||||
|
||||
public MenuItem addItem() {
|
||||
|
||||
@@ -21,8 +21,6 @@ import android.annotation.LayoutRes;
|
||||
import android.annotation.StringRes;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
import android.view.View.OnCreateContextMenuListener;
|
||||
@@ -601,26 +599,4 @@ public interface MenuItem {
|
||||
* @return This menu item instance for call chaining
|
||||
*/
|
||||
public MenuItem setOnActionExpandListener(OnActionExpandListener listener);
|
||||
|
||||
/**
|
||||
* Applies a tint to the icon drawable. Does not modify the current tint
|
||||
* mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
|
||||
* <p>
|
||||
* Subsequent calls to {@link android.view.MenuItem#setIcon(android.graphics.drawable.Drawable)}
|
||||
* will automatically mutate the drawable and apply the specified tint and tint mode.
|
||||
*
|
||||
* @param tint the tint to apply, may be {@code null} to clear tint
|
||||
* @return This menu item instance for call chaining
|
||||
*/
|
||||
public MenuItem setIconTintList(ColorStateList tint);
|
||||
|
||||
/**
|
||||
* Specifies the blending mode used to apply the tint specified by {@link
|
||||
* #setIconTintList(ColorStateList)} to the icon drawable. The default mode is {@link
|
||||
* PorterDuff.Mode#SRC_IN}.
|
||||
*
|
||||
* @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint
|
||||
* @return This menu item instance for call chaining
|
||||
*/
|
||||
public MenuItem setIconTintMode(PorterDuff.Mode tintMode);
|
||||
}
|
||||
|
||||
@@ -21,10 +21,8 @@ import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.animation.PropertyValuesHolder;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
@@ -64,6 +62,8 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
private static final boolean ACTIONBAR_ANIMATIONS_ENABLED = false;
|
||||
|
||||
private OverflowMenuButton mOverflowButton;
|
||||
private Drawable mPendingOverflowIcon;
|
||||
private boolean mPendingOverflowIconSet;
|
||||
private boolean mReserveOverflow;
|
||||
private boolean mReserveOverflowSet;
|
||||
private int mWidthLimit;
|
||||
@@ -85,8 +85,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
private OpenOverflowRunnable mPostedOpenRunnable;
|
||||
private ActionMenuPopupCallback mPopupCallback;
|
||||
|
||||
private TintInfo mOverflowTintInfo;
|
||||
|
||||
final PopupPresenterCallback mPopupPresenterCallback = new PopupPresenterCallback();
|
||||
int mOpenSubMenuId;
|
||||
|
||||
@@ -154,9 +152,13 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
if (mReserveOverflow) {
|
||||
if (mOverflowButton == null) {
|
||||
mOverflowButton = new OverflowMenuButton(mSystemContext);
|
||||
if (mPendingOverflowIconSet) {
|
||||
mOverflowButton.setImageDrawable(mPendingOverflowIcon);
|
||||
mPendingOverflowIcon = null;
|
||||
mPendingOverflowIconSet = false;
|
||||
}
|
||||
final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
|
||||
mOverflowButton.measure(spec, spec);
|
||||
applyOverflowTint();
|
||||
}
|
||||
width -= mOverflowButton.getMeasuredWidth();
|
||||
} else {
|
||||
@@ -198,6 +200,24 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
mExpandedActionViewsExclusive = isExclusive;
|
||||
}
|
||||
|
||||
public void setOverflowIcon(Drawable icon) {
|
||||
if (mOverflowButton != null) {
|
||||
mOverflowButton.setImageDrawable(icon);
|
||||
} else {
|
||||
mPendingOverflowIconSet = true;
|
||||
mPendingOverflowIcon = icon;
|
||||
}
|
||||
}
|
||||
|
||||
public Drawable getOverflowIcon() {
|
||||
if (mOverflowButton != null) {
|
||||
return mOverflowButton.getDrawable();
|
||||
} else if (mPendingOverflowIconSet) {
|
||||
return mPendingOverflowIcon;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuView getMenuView(ViewGroup root) {
|
||||
MenuView oldMenuView = mMenuView;
|
||||
@@ -449,7 +469,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
if (hasOverflow) {
|
||||
if (mOverflowButton == null) {
|
||||
mOverflowButton = new OverflowMenuButton(mSystemContext);
|
||||
applyOverflowTint();
|
||||
}
|
||||
ViewGroup parent = (ViewGroup) mOverflowButton.getParent();
|
||||
if (parent != mMenuView) {
|
||||
@@ -764,40 +783,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
}
|
||||
}
|
||||
|
||||
public void setOverflowTintList(ColorStateList tint) {
|
||||
if (mOverflowTintInfo == null) {
|
||||
mOverflowTintInfo = new TintInfo();
|
||||
}
|
||||
mOverflowTintInfo.mTintList = tint;
|
||||
mOverflowTintInfo.mHasTintList = true;
|
||||
|
||||
applyOverflowTint();
|
||||
}
|
||||
|
||||
public void setOverflowTintMode(PorterDuff.Mode tintMode) {
|
||||
if (mOverflowTintInfo == null) {
|
||||
mOverflowTintInfo = new TintInfo();
|
||||
}
|
||||
mOverflowTintInfo.mTintMode = tintMode;
|
||||
mOverflowTintInfo.mHasTintMode = true;
|
||||
|
||||
applyOverflowTint();
|
||||
}
|
||||
|
||||
private void applyOverflowTint() {
|
||||
final TintInfo tintInfo = mOverflowTintInfo;
|
||||
if (tintInfo != null && (tintInfo.mHasTintList || tintInfo.mHasTintMode)) {
|
||||
if (mOverflowButton != null) {
|
||||
if (tintInfo.mHasTintList) {
|
||||
mOverflowButton.setImageTintList(tintInfo.mTintList);
|
||||
}
|
||||
if (tintInfo.mHasTintMode) {
|
||||
mOverflowButton.setImageTintMode(tintInfo.mTintMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class SavedState implements Parcelable {
|
||||
public int openSubMenuId;
|
||||
|
||||
@@ -1023,13 +1008,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
}
|
||||
}
|
||||
|
||||
private static class TintInfo {
|
||||
ColorStateList mTintList;
|
||||
PorterDuff.Mode mTintMode;
|
||||
boolean mHasTintMode;
|
||||
boolean mHasTintList;
|
||||
}
|
||||
|
||||
/**
|
||||
* This class holds layout information for a menu item. This is used to determine
|
||||
* pre- and post-layout information about menu items, which will then be used to
|
||||
@@ -1077,5 +1055,4 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
this.animType = animType;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
package android.widget;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.StyleRes;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.Gravity;
|
||||
@@ -541,6 +541,27 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo
|
||||
dismissPopupMenus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the icon to use for the overflow button.
|
||||
*
|
||||
* @param icon Drawable to set, may be null to clear the icon
|
||||
*/
|
||||
public void setOverflowIcon(@Nullable Drawable icon) {
|
||||
getMenu();
|
||||
mPresenter.setOverflowIcon(icon);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the current drawable used as the overflow icon.
|
||||
*
|
||||
* @return The overflow icon drawable
|
||||
*/
|
||||
@Nullable
|
||||
public Drawable getOverflowIcon() {
|
||||
getMenu();
|
||||
return mPresenter.getOverflowIcon();
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
public boolean isOverflowReserved() {
|
||||
return mReserveOverflow;
|
||||
@@ -551,31 +572,6 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo
|
||||
mReserveOverflow = reserveOverflow;
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies a tint to the overflow drawable. Does not modify the current tint
|
||||
* mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
|
||||
*
|
||||
* @param tint the tint to apply, may be {@code null} to clear tint
|
||||
*/
|
||||
public void setOverflowTintList(ColorStateList tint) {
|
||||
if (mPresenter != null) {
|
||||
mPresenter.setOverflowTintList(tint);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies the blending mode used to apply the tint specified by {@link
|
||||
* #setOverflowTintList(ColorStateList)} to the overflow drawable.
|
||||
* The default mode is {@link PorterDuff.Mode#SRC_IN}.
|
||||
*
|
||||
* @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint
|
||||
*/
|
||||
public void setOverflowTintMode(PorterDuff.Mode tintMode) {
|
||||
if (mPresenter != null) {
|
||||
mPresenter.setOverflowTintMode(tintMode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected LayoutParams generateDefaultLayoutParams() {
|
||||
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
|
||||
|
||||
@@ -25,9 +25,8 @@ import android.annotation.StringRes;
|
||||
import android.annotation.StyleRes;
|
||||
import android.app.ActionBar;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.RectF;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
@@ -110,9 +109,6 @@ public class Toolbar extends ViewGroup {
|
||||
private ImageButton mNavButtonView;
|
||||
private ImageView mLogoView;
|
||||
|
||||
private TintInfo mOverflowTintInfo;
|
||||
private TintInfo mNavTintInfo;
|
||||
|
||||
private Drawable mCollapseIcon;
|
||||
private CharSequence mCollapseDescription;
|
||||
private ImageButton mCollapseButtonView;
|
||||
@@ -275,21 +271,6 @@ public class Toolbar extends ViewGroup {
|
||||
if (!TextUtils.isEmpty(navDesc)) {
|
||||
setNavigationContentDescription(navDesc);
|
||||
}
|
||||
|
||||
if (a.hasValue(R.styleable.Toolbar_overflowTint)) {
|
||||
setOverflowTintList(a.getColorStateList(R.styleable.Toolbar_overflowTint));
|
||||
}
|
||||
if (a.hasValue(R.styleable.Toolbar_overflowTintMode)) {
|
||||
setOverflowTintMode(Drawable.parseTintMode(
|
||||
a.getInt(R.styleable.Toolbar_overflowTintMode, -1), null));
|
||||
}
|
||||
if (a.hasValue(R.styleable.Toolbar_navigationTint)) {
|
||||
setNavigationTintList(a.getColorStateList(R.styleable.Toolbar_navigationTint));
|
||||
}
|
||||
if (a.hasValue(R.styleable.Toolbar_navigationTintMode)) {
|
||||
setNavigationTintMode(Drawable.parseTintMode(
|
||||
a.getInt(R.styleable.Toolbar_navigationTintMode, -1), null));
|
||||
}
|
||||
a.recycle();
|
||||
}
|
||||
|
||||
@@ -829,91 +810,6 @@ public class Toolbar extends ViewGroup {
|
||||
mNavButtonView.setOnClickListener(listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies a tint to the icon drawable. Does not modify the current tint
|
||||
* mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
|
||||
* <p>
|
||||
* Subsequent calls to {@link #setNavigationIcon(Drawable)} will automatically mutate
|
||||
* the drawable and apply the specified tint and tint mode.
|
||||
*
|
||||
* @param tint the tint to apply, may be {@code null} to clear tint
|
||||
*
|
||||
* @attr ref android.R.styleable#Toolbar_navigationTint
|
||||
*/
|
||||
public void setNavigationTintList(ColorStateList tint) {
|
||||
if (mNavTintInfo == null) {
|
||||
mNavTintInfo = new TintInfo();
|
||||
}
|
||||
mNavTintInfo.mTintList = tint;
|
||||
mNavTintInfo.mHasTintList = true;
|
||||
|
||||
applyNavigationTint();
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies the blending mode used to apply the tint specified by {@link
|
||||
* #setNavigationTintList(ColorStateList)} to the navigation drawable.
|
||||
* The default mode is {@link PorterDuff.Mode#SRC_IN}.
|
||||
*
|
||||
* @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint
|
||||
*
|
||||
* @attr ref android.R.styleable#Toolbar_navigationTintMode
|
||||
*/
|
||||
public void setNavigationTintMode(PorterDuff.Mode tintMode) {
|
||||
if (mNavTintInfo == null) {
|
||||
mNavTintInfo = new TintInfo();
|
||||
}
|
||||
mNavTintInfo.mTintMode = tintMode;
|
||||
mNavTintInfo.mHasTintMode = true;
|
||||
|
||||
applyNavigationTint();
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies a tint to the overflow drawable. Does not modify the current tint
|
||||
* mode, which is {@link PorterDuff.Mode#SRC_IN} by default.
|
||||
*
|
||||
* @param tint the tint to apply, may be {@code null} to clear tint
|
||||
*
|
||||
* @attr ref android.R.styleable#Toolbar_overflowTint
|
||||
*/
|
||||
public void setOverflowTintList(ColorStateList tint) {
|
||||
if (mMenuView != null) {
|
||||
// If the menu view is available, directly set the tint
|
||||
mMenuView.setOverflowTintList(tint);
|
||||
} else {
|
||||
// Otherwise we will record the value
|
||||
if (mOverflowTintInfo == null) {
|
||||
mOverflowTintInfo = new TintInfo();
|
||||
}
|
||||
mOverflowTintInfo.mTintList = tint;
|
||||
mOverflowTintInfo.mHasTintList = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies the blending mode used to apply the tint specified by {@link
|
||||
* #setOverflowTintList(ColorStateList)} to the overflow drawable.
|
||||
* The default mode is {@link PorterDuff.Mode#SRC_IN}.
|
||||
*
|
||||
* @param tintMode the blending mode used to apply the tint, may be {@code null} to clear tint
|
||||
*
|
||||
* @attr ref android.R.styleable#Toolbar_overflowTintMode
|
||||
*/
|
||||
public void setOverflowTintMode(PorterDuff.Mode tintMode) {
|
||||
if (mMenuView != null) {
|
||||
// If the menu view is available, directly set the tint mode
|
||||
mMenuView.setOverflowTintMode(tintMode);
|
||||
} else {
|
||||
// Otherwise we will record the value
|
||||
if (mOverflowTintInfo == null) {
|
||||
mOverflowTintInfo = new TintInfo();
|
||||
}
|
||||
mOverflowTintInfo.mTintMode = tintMode;
|
||||
mOverflowTintInfo.mHasTintMode = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the Menu shown in the toolbar.
|
||||
*
|
||||
@@ -927,6 +823,27 @@ public class Toolbar extends ViewGroup {
|
||||
return mMenuView.getMenu();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the icon to use for the overflow button.
|
||||
*
|
||||
* @param icon Drawable to set, may be null to clear the icon
|
||||
*/
|
||||
public void setOverflowIcon(@Nullable Drawable icon) {
|
||||
ensureMenu();
|
||||
mMenuView.setOverflowIcon(icon);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the current drawable used as the overflow icon.
|
||||
*
|
||||
* @return The overflow icon drawable
|
||||
*/
|
||||
@Nullable
|
||||
public Drawable getOverflowIcon() {
|
||||
ensureMenu();
|
||||
return mMenuView.getOverflowIcon();
|
||||
}
|
||||
|
||||
private void ensureMenu() {
|
||||
ensureMenuView();
|
||||
if (mMenuView.peekMenu() == null) {
|
||||
@@ -950,17 +867,6 @@ public class Toolbar extends ViewGroup {
|
||||
lp.gravity = Gravity.END | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK);
|
||||
mMenuView.setLayoutParams(lp);
|
||||
addSystemView(mMenuView);
|
||||
|
||||
if (mOverflowTintInfo != null) {
|
||||
// If we have tint info for the overflow, set it on the menu view now
|
||||
if (mOverflowTintInfo.mHasTintList) {
|
||||
mMenuView.setOverflowTintList(mOverflowTintInfo.mTintList);
|
||||
}
|
||||
if (mOverflowTintInfo.mHasTintMode) {
|
||||
mMenuView.setOverflowTintMode(mOverflowTintInfo.mTintMode);
|
||||
}
|
||||
mOverflowTintInfo = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1114,7 +1020,6 @@ public class Toolbar extends ViewGroup {
|
||||
final LayoutParams lp = generateDefaultLayoutParams();
|
||||
lp.gravity = Gravity.START | (mButtonGravity & Gravity.VERTICAL_GRAVITY_MASK);
|
||||
mNavButtonView.setLayoutParams(lp);
|
||||
applyNavigationTint();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1133,7 +1038,6 @@ public class Toolbar extends ViewGroup {
|
||||
collapseActionView();
|
||||
}
|
||||
});
|
||||
applyNavigationTint();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1885,30 +1789,6 @@ public class Toolbar extends ViewGroup {
|
||||
return mPopupContext;
|
||||
}
|
||||
|
||||
private void applyNavigationTint() {
|
||||
final TintInfo tintInfo = mNavTintInfo;
|
||||
if (tintInfo != null && (tintInfo.mHasTintList || tintInfo.mHasTintMode)) {
|
||||
if (mNavButtonView != null) {
|
||||
if (tintInfo.mHasTintList) {
|
||||
mNavButtonView.setImageTintList(tintInfo.mTintList);
|
||||
}
|
||||
if (tintInfo.mHasTintMode) {
|
||||
mNavButtonView.setImageTintMode(tintInfo.mTintMode);
|
||||
}
|
||||
}
|
||||
|
||||
if (mCollapseButtonView != null) {
|
||||
// We will use the same tint for the collapse button
|
||||
if (tintInfo.mHasTintList) {
|
||||
mCollapseButtonView.setImageTintList(tintInfo.mTintList);
|
||||
}
|
||||
if (tintInfo.mHasTintMode) {
|
||||
mCollapseButtonView.setImageTintMode(tintInfo.mTintMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface responsible for receiving menu item click events if the items themselves
|
||||
* do not have individual item click listeners.
|
||||
@@ -2136,11 +2016,4 @@ public class Toolbar extends ViewGroup {
|
||||
public void onRestoreInstanceState(Parcelable state) {
|
||||
}
|
||||
}
|
||||
|
||||
private static class TintInfo {
|
||||
ColorStateList mTintList;
|
||||
PorterDuff.Mode mTintMode;
|
||||
boolean mHasTintMode;
|
||||
boolean mHasTintList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,6 @@ package com.android.internal.view.menu;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.ActionProvider;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
@@ -44,7 +42,6 @@ public class ActionMenuItem implements MenuItem {
|
||||
|
||||
private Drawable mIconDrawable;
|
||||
private int mIconResId = NO_ICON;
|
||||
private TintInfo mIconTintInfo;
|
||||
|
||||
private Context mContext;
|
||||
|
||||
@@ -161,14 +158,12 @@ public class ActionMenuItem implements MenuItem {
|
||||
public MenuItem setIcon(Drawable icon) {
|
||||
mIconDrawable = icon;
|
||||
mIconResId = NO_ICON;
|
||||
applyIconTint();
|
||||
return this;
|
||||
}
|
||||
|
||||
public MenuItem setIcon(int iconRes) {
|
||||
mIconResId = iconRes;
|
||||
mIconDrawable = mContext.getDrawable(iconRes);
|
||||
applyIconTint();
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -279,48 +274,4 @@ public class ActionMenuItem implements MenuItem {
|
||||
// No need to save the listener; ActionMenuItem does not support collapsing items.
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setIconTintList(ColorStateList tintList) {
|
||||
if (mIconTintInfo == null) {
|
||||
mIconTintInfo = new TintInfo();
|
||||
}
|
||||
mIconTintInfo.mTintList = tintList;
|
||||
mIconTintInfo.mHasTintList = true;
|
||||
applyIconTint();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setIconTintMode(PorterDuff.Mode tintMode) {
|
||||
if (mIconTintInfo == null) {
|
||||
mIconTintInfo = new TintInfo();
|
||||
}
|
||||
mIconTintInfo.mTintMode = tintMode;
|
||||
mIconTintInfo.mHasTintMode = true;
|
||||
applyIconTint();
|
||||
return this;
|
||||
}
|
||||
|
||||
private void applyIconTint() {
|
||||
final TintInfo tintInfo = mIconTintInfo;
|
||||
if (mIconDrawable != null && tintInfo != null) {
|
||||
if (tintInfo.mHasTintList || tintInfo.mHasTintMode) {
|
||||
mIconDrawable = mIconDrawable.mutate();
|
||||
if (tintInfo.mHasTintList) {
|
||||
mIconDrawable.setTintList(tintInfo.mTintList);
|
||||
}
|
||||
if (tintInfo.mHasTintMode) {
|
||||
mIconDrawable.setTintMode(tintInfo.mTintMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class TintInfo {
|
||||
ColorStateList mTintList;
|
||||
PorterDuff.Mode mTintMode;
|
||||
boolean mHasTintMode;
|
||||
boolean mHasTintList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,6 @@ import com.android.internal.view.menu.MenuView.ItemView;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.Log;
|
||||
import android.view.ActionProvider;
|
||||
@@ -62,11 +60,6 @@ public final class MenuItemImpl implements MenuItem {
|
||||
* needed).
|
||||
*/
|
||||
private int mIconResId = NO_ICON;
|
||||
|
||||
/**
|
||||
* Tint info for the icon
|
||||
*/
|
||||
private TintInfo mIconTintInfo;
|
||||
|
||||
/** The menu to which this item belongs */
|
||||
private MenuBuilder mMenu;
|
||||
@@ -392,10 +385,10 @@ public final class MenuItemImpl implements MenuItem {
|
||||
}
|
||||
|
||||
if (mIconResId != NO_ICON) {
|
||||
mIconDrawable = mMenu.getContext().getDrawable(mIconResId);
|
||||
Drawable icon = mMenu.getContext().getDrawable(mIconResId);
|
||||
mIconResId = NO_ICON;
|
||||
applyIconTint();
|
||||
return mIconDrawable;
|
||||
mIconDrawable = icon;
|
||||
return icon;
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -404,7 +397,6 @@ public final class MenuItemImpl implements MenuItem {
|
||||
public MenuItem setIcon(Drawable icon) {
|
||||
mIconResId = NO_ICON;
|
||||
mIconDrawable = icon;
|
||||
applyIconTint();
|
||||
mMenu.onItemsChanged(false);
|
||||
|
||||
return this;
|
||||
@@ -678,48 +670,4 @@ public final class MenuItemImpl implements MenuItem {
|
||||
public boolean isActionViewExpanded() {
|
||||
return mIsActionViewExpanded;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setIconTintList(ColorStateList tintList) {
|
||||
if (mIconTintInfo == null) {
|
||||
mIconTintInfo = new TintInfo();
|
||||
}
|
||||
mIconTintInfo.mTintList = tintList;
|
||||
mIconTintInfo.mHasTintList = true;
|
||||
applyIconTint();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setIconTintMode(PorterDuff.Mode tintMode) {
|
||||
if (mIconTintInfo == null) {
|
||||
mIconTintInfo = new TintInfo();
|
||||
}
|
||||
mIconTintInfo.mTintMode = tintMode;
|
||||
mIconTintInfo.mHasTintMode = true;
|
||||
applyIconTint();
|
||||
return this;
|
||||
}
|
||||
|
||||
private void applyIconTint() {
|
||||
final TintInfo tintInfo = mIconTintInfo;
|
||||
if (mIconDrawable != null && tintInfo != null) {
|
||||
if (tintInfo.mHasTintList || tintInfo.mHasTintMode) {
|
||||
mIconDrawable = mIconDrawable.mutate();
|
||||
if (tintInfo.mHasTintList) {
|
||||
mIconDrawable.setTintList(tintInfo.mTintList);
|
||||
}
|
||||
if (tintInfo.mHasTintMode) {
|
||||
mIconDrawable.setTintMode(tintInfo.mTintMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class TintInfo {
|
||||
ColorStateList mTintList;
|
||||
PorterDuff.Mode mTintMode;
|
||||
boolean mHasTintMode;
|
||||
boolean mHasTintList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6651,33 +6651,6 @@ i
|
||||
for more info. -->
|
||||
<attr name="actionProviderClass" format="string" />
|
||||
|
||||
<!-- An optional tint for the item's icon.
|
||||
See {@link android.view.MenuItem#setIconTintList(android.content.res.ColorStateList)}
|
||||
for more info. -->
|
||||
<attr name="iconTint" format="color" />
|
||||
|
||||
<!-- The blending mode used for tinting the item's icon
|
||||
See {@link android.view.MenuItem#setIconTintMode(android.graphics.PorterDuff.Mode)}
|
||||
for more info. -->
|
||||
<attr name="iconTintMode">
|
||||
<!-- The tint is drawn on top of the drawable.
|
||||
[Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] -->
|
||||
<enum name="src_over" value="3" />
|
||||
<!-- The tint is masked by the alpha channel of the drawable. The drawable’s
|
||||
color channels are thrown out. [Sa * Da, Sc * Da] -->
|
||||
<enum name="src_in" value="5" />
|
||||
<!-- The tint is drawn above the drawable, but with the drawable’s alpha
|
||||
channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] -->
|
||||
<enum name="src_atop" value="9" />
|
||||
<!-- Multiplies the color and alpha channels of the drawable with those of
|
||||
the tint. [Sa * Da, Sc * Dc] -->
|
||||
<enum name="multiply" value="14" />
|
||||
<!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] -->
|
||||
<enum name="screen" value="15" />
|
||||
<!-- Combines the tint and drawable color and alpha channels, clamping the
|
||||
result to valid color values. Saturate(S + D) -->
|
||||
<enum name="add" value="16" />
|
||||
</attr>
|
||||
</declare-styleable>
|
||||
|
||||
<!-- Attrbitutes for a ActvityChooserView. -->
|
||||
@@ -7791,52 +7764,6 @@ i
|
||||
<!-- Text to set as the content description for the navigation button
|
||||
located at the start of the toolbar. -->
|
||||
<attr name="navigationContentDescription" format="string" />
|
||||
|
||||
<!-- Tint used for the navigation button -->
|
||||
<attr name="navigationTint" format="color" />
|
||||
<!-- The blending mode used for tinting the navigation button -->
|
||||
<attr name="navigationTintMode">
|
||||
<!-- The tint is drawn on top of the drawable.
|
||||
[Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] -->
|
||||
<enum name="src_over" value="3" />
|
||||
<!-- The tint is masked by the alpha channel of the drawable. The drawable’s
|
||||
color channels are thrown out. [Sa * Da, Sc * Da] -->
|
||||
<enum name="src_in" value="5" />
|
||||
<!-- The tint is drawn above the drawable, but with the drawable’s alpha
|
||||
channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] -->
|
||||
<enum name="src_atop" value="9" />
|
||||
<!-- Multiplies the color and alpha channels of the drawable with those of
|
||||
the tint. [Sa * Da, Sc * Dc] -->
|
||||
<enum name="multiply" value="14" />
|
||||
<!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] -->
|
||||
<enum name="screen" value="15" />
|
||||
<!-- Combines the tint and drawable color and alpha channels, clamping the
|
||||
result to valid color values. Saturate(S + D). Only works on APIv 11+ -->
|
||||
<enum name="add" value="16" />
|
||||
</attr>
|
||||
|
||||
<!-- Tint used for the overflow button -->
|
||||
<attr name="overflowTint" format="color" />
|
||||
<!-- The blending mode used for tinting the overflow button -->
|
||||
<attr name="overflowTintMode">
|
||||
<!-- The tint is drawn on top of the drawable.
|
||||
[Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] -->
|
||||
<enum name="src_over" value="3" />
|
||||
<!-- The tint is masked by the alpha channel of the drawable. The drawable’s
|
||||
color channels are thrown out. [Sa * Da, Sc * Da] -->
|
||||
<enum name="src_in" value="5" />
|
||||
<!-- The tint is drawn above the drawable, but with the drawable’s alpha
|
||||
channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] -->
|
||||
<enum name="src_atop" value="9" />
|
||||
<!-- Multiplies the color and alpha channels of the drawable with those of
|
||||
the tint. [Sa * Da, Sc * Dc] -->
|
||||
<enum name="multiply" value="14" />
|
||||
<!-- [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] -->
|
||||
<enum name="screen" value="15" />
|
||||
<!-- Combines the tint and drawable color and alpha channels, clamping the
|
||||
result to valid color values. Saturate(S + D). Only works on APIv 11+ -->
|
||||
<enum name="add" value="16" />
|
||||
</attr>
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="Toolbar_LayoutParams">
|
||||
|
||||
@@ -2614,12 +2614,20 @@
|
||||
<public type="attr" name="end" />
|
||||
<public type="attr" name="windowLightStatusBar" />
|
||||
<public type="attr" name="numbersInnerTextColor" />
|
||||
<public type="attr" name="iconTint" />
|
||||
<public type="attr" name="iconTintMode" />
|
||||
<public type="attr" name="overflowTint" />
|
||||
<public type="attr" name="overflowTintMode" />
|
||||
<public type="attr" name="navigationTint" />
|
||||
<public type="attr" name="navigationTintMode" />
|
||||
|
||||
<attr name="__reserved2" format="boolean" />
|
||||
<public type="attr" name="__reserved2" />
|
||||
<attr name="__reserved3" format="boolean" />
|
||||
<public type="attr" name="__reserved3" />
|
||||
<attr name="__reserved4" format="boolean" />
|
||||
<public type="attr" name="__reserved4" />
|
||||
<attr name="__reserved5" format="boolean" />
|
||||
<public type="attr" name="__reserved5" />
|
||||
<attr name="__reserved6" format="boolean" />
|
||||
<public type="attr" name="__reserved6" />
|
||||
<attr name="__reserved7" format="boolean" />
|
||||
<public type="attr" name="__reserved7" />
|
||||
|
||||
<public type="attr" name="fullBackupContent" />
|
||||
|
||||
<public type="style" name="Widget.Material.Button.Colored" />
|
||||
|
||||
Reference in New Issue
Block a user