diff options
Diffstat (limited to 'core/java/android/widget')
| -rw-r--r-- | core/java/android/widget/ImageView.java | 11 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 12 |
2 files changed, 21 insertions, 2 deletions
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java index b1a75e1..91e2e49 100644 --- a/core/java/android/widget/ImageView.java +++ b/core/java/android/widget/ImageView.java @@ -201,7 +201,7 @@ public class ImageView extends View { @Override protected boolean onSetAlpha(int alpha) { - if (getBackground() == null) { + if (!USE_DISPLAY_LIST_PROPERTIES && getBackground() == null) { int scale = alpha + (alpha >> 7); if (mViewAlphaScale != scale) { mViewAlphaScale = scale; @@ -214,6 +214,15 @@ public class ImageView extends View { } @Override + public boolean hasOverlappingRendering() { + if (!USE_DISPLAY_LIST_PROPERTIES) { + return super.hasOverlappingRendering(); + } else { + return (getBackground() != null); + } + } + + @Override public void onPopulateAccessibilityEvent(AccessibilityEvent event) { super.onPopulateAccessibilityEvent(event); CharSequence contentDescription = getContentDescription(); diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 2a81f08..d2a1755 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -4268,7 +4268,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener protected boolean onSetAlpha(int alpha) { // Alpha is supported if and only if the drawing can be done in one pass. // TODO text with spans with a background color currently do not respect this alpha. - if (getBackground() == null) { + if (!USE_DISPLAY_LIST_PROPERTIES && + (getBackground() != null || mText instanceof Spannable || hasSelection())) { if (mCurrentAlpha != alpha) { mCurrentAlpha = alpha; final Drawables dr = mDrawables; @@ -4292,6 +4293,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener return false; } + @Override + public boolean hasOverlappingRendering() { + if (!USE_DISPLAY_LIST_PROPERTIES) { + return super.hasOverlappingRendering(); + } else { + return (getBackground() != null || mText instanceof Spannable || hasSelection()); + } + } + /** * When a TextView is used to display a useful piece of information to the user (such as a * contact's address), it should be made selectable, so that the user can select and copy this |
