summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2011-09-08 17:35:01 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-08 17:35:01 -0700
commit0669577b13302767e90a193c5f48e7faae580654 (patch)
tree76a8c653f75e575b914d6b6fb33ac7ad305d5cdb /core/java/android
parent1a4cbba932bc5da29a8933ddf8d6fe8d5a0826b8 (diff)
parent33438be0087518aeb99e17ecc70213956ce0f25a (diff)
downloadframeworks_base-0669577b13302767e90a193c5f48e7faae580654.zip
frameworks_base-0669577b13302767e90a193c5f48e7faae580654.tar.gz
frameworks_base-0669577b13302767e90a193c5f48e7faae580654.tar.bz2
Merge "Fix bug #2246815 Error popups on EditText should span the width of the screen instead of the width of the EditText field"
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/widget/TextView.java18
1 files changed, 7 insertions, 11 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index c61aad1..d62cf47 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -4050,16 +4050,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
int wid = tv.getPaddingLeft() + tv.getPaddingRight();
int ht = tv.getPaddingTop() + tv.getPaddingBottom();
- /*
- * Figure out how big the text would be if we laid it out to the
- * full width of this view minus the border.
- */
- int cap = getWidth() - wid;
- if (cap < 0) {
- cap = 200; // We must not be measured yet -- setFrame() will fix it.
- }
-
- Layout l = new StaticLayout(text, tv.getPaint(), cap,
+ int defaultWidthInPixels = (int) (DEFAULT_ERROR_POPUP_MAX_WIDTH_IN_DP *
+ getResources().getDisplayMetrics().density);
+ Layout l = new StaticLayout(text, tv.getPaint(), defaultWidthInPixels,
Layout.Alignment.ALIGN_NORMAL, 1, 0, true);
float max = 0;
for (int i = 0; i < l.getLineCount(); i++) {
@@ -4067,7 +4060,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
/*
- * Now set the popup size to be big enough for the text plus the border.
+ * Now set the popup size to be big enough for the text plus the border capped
+ * to DEFAULT_MAX_POPUP_WIDTH
*/
pop.setWidth(wid + (int) Math.ceil(max));
pop.setHeight(ht + l.getHeight());
@@ -11447,4 +11441,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
private CorrectionHighlighter mCorrectionHighlighter;
// New state used to change background based on whether this TextView is multiline.
private static final int[] MULTILINE_STATE_SET = { R.attr.state_multiline };
+
+ private static final int DEFAULT_ERROR_POPUP_MAX_WIDTH_IN_DP = 240;
}