diff --git a/java/res/drawable-hdpi/more_suggestions_hint.png b/java/res/drawable-hdpi/more_suggestions_hint.png
deleted file mode 100644
index 93604752b..000000000
Binary files a/java/res/drawable-hdpi/more_suggestions_hint.png and /dev/null differ
diff --git a/java/res/drawable-hdpi/more_suggestions_hint_holo.png b/java/res/drawable-hdpi/more_suggestions_hint_holo.png
deleted file mode 100644
index 93604752b..000000000
Binary files a/java/res/drawable-hdpi/more_suggestions_hint_holo.png and /dev/null differ
diff --git a/java/res/drawable-mdpi/more_suggestions_hint.png b/java/res/drawable-mdpi/more_suggestions_hint.png
deleted file mode 100644
index 7352810d3..000000000
Binary files a/java/res/drawable-mdpi/more_suggestions_hint.png and /dev/null differ
diff --git a/java/res/drawable-mdpi/more_suggestions_hint_holo.png b/java/res/drawable-mdpi/more_suggestions_hint_holo.png
deleted file mode 100644
index 7352810d3..000000000
Binary files a/java/res/drawable-mdpi/more_suggestions_hint_holo.png and /dev/null differ
diff --git a/java/res/drawable-xhdpi/more_suggestions_hint.png b/java/res/drawable-xhdpi/more_suggestions_hint.png
deleted file mode 100644
index 35fb42087..000000000
Binary files a/java/res/drawable-xhdpi/more_suggestions_hint.png and /dev/null differ
diff --git a/java/res/drawable-xhdpi/more_suggestions_hint_holo.png b/java/res/drawable-xhdpi/more_suggestions_hint_holo.png
deleted file mode 100644
index 35fb42087..000000000
Binary files a/java/res/drawable-xhdpi/more_suggestions_hint_holo.png and /dev/null differ
diff --git a/java/res/values-sw600dp/dimens.xml b/java/res/values-sw600dp/dimens.xml
index d02b4eaad..e1bdecfd9 100644
--- a/java/res/values-sw600dp/dimens.xml
+++ b/java/res/values-sw600dp/dimens.xml
@@ -76,4 +76,5 @@
0.3in
12dip
22dip
+ 33dip
diff --git a/java/res/values-sw768dp/dimens.xml b/java/res/values-sw768dp/dimens.xml
index bfc2593db..b825b1457 100644
--- a/java/res/values-sw768dp/dimens.xml
+++ b/java/res/values-sw768dp/dimens.xml
@@ -79,4 +79,5 @@
46dip
8dip
22dip
+ 33dip
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 6e9461a33..e40cc95ab 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -132,7 +132,6 @@
-
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index 8488c777b..16cccc62a 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -92,6 +92,7 @@
44dip
6dip
18dip
+ 27dip
3
36
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 6aa967410..7b8bfa841 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -102,7 +102,6 @@
- 50
- @integer/suggestions_count_in_strip
- @integer/center_suggestion_percentile
- - @drawable/more_suggestions_hint
- @integer/max_more_suggestions_row
- @fraction/min_more_suggestions_width
@@ -284,7 +283,6 @@
- 70
- @integer/suggestions_count_in_strip
- @integer/center_suggestion_percentile
- - @drawable/more_suggestions_hint_holo
- @integer/max_more_suggestions_row
- @fraction/min_more_suggestions_width
diff --git a/java/src/com/android/inputmethod/latin/SuggestionsView.java b/java/src/com/android/inputmethod/latin/SuggestionsView.java
index 13beb4479..6fc790030 100644
--- a/java/src/com/android/inputmethod/latin/SuggestionsView.java
+++ b/java/src/com/android/inputmethod/latin/SuggestionsView.java
@@ -19,8 +19,14 @@ package com.android.inputmethod.latin;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Paint.Align;
+import android.graphics.Rect;
import android.graphics.Typeface;
+import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Message;
import android.os.SystemClock;
@@ -167,6 +173,7 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
private final float mCenterSuggestionWeight;
private final int mCenterSuggestionIndex;
private final Drawable mMoreSuggestionsHint;
+ private static final String MORE_SUGGESTIONS_HINT = "\u2026";
private static final CharacterStyle BOLD_SPAN = new StyleSpan(Typeface.BOLD);
private static final CharacterStyle UNDERLINE_SPAN = new UnderlineSpan();
@@ -225,7 +232,6 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
mCenterSuggestionWeight = getPercent(a,
R.styleable.SuggestionsView_centerSuggestionPercentile,
DEFAULT_CENTER_SUGGESTION_PERCENTILE);
- mMoreSuggestionsHint = a.getDrawable(R.styleable.SuggestionsView_moreSuggestionsHint);
mMaxMoreSuggestionsRow = a.getInt(
R.styleable.SuggestionsView_maxMoreSuggestionsRow,
DEFAULT_MAX_MORE_SUGGESTIONS_ROW);
@@ -233,6 +239,8 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
R.styleable.SuggestionsView_minMoreSuggestionsWidth);
a.recycle();
+ mMoreSuggestionsHint = getMoreSuggestionsHint(res,
+ res.getDimension(R.dimen.more_suggestions_hint_text_size), mColorAutoCorrect);
mCenterSuggestionIndex = mSuggestionsCountInStrip / 2;
mMoreSuggestionsBottomGap = res.getDimensionPixelOffset(
R.dimen.more_suggestions_bottom_gap);
@@ -246,6 +254,23 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener,
mHintToSaveText = context.getText(R.string.hint_add_to_dictionary);
}
+ private static Drawable getMoreSuggestionsHint(Resources res, float textSize, int color) {
+ final Paint paint = new Paint();
+ paint.setAntiAlias(true);
+ paint.setTextAlign(Align.CENTER);
+ paint.setTextSize(textSize);
+ paint.setColor(color);
+ final Rect bounds = new Rect();
+ paint.getTextBounds(MORE_SUGGESTIONS_HINT, 0, 1, bounds);
+ final int width = Math.round(bounds.width() + 0.5f);
+ final int height = Math.round(bounds.height() + 0.5f);
+ final Bitmap buffer = Bitmap.createBitmap(
+ width, (height * 3 / 2), Bitmap.Config.ARGB_8888);
+ final Canvas canvas = new Canvas(buffer);
+ canvas.drawText(MORE_SUGGESTIONS_HINT, width / 2, height, paint);
+ return new BitmapDrawable(res, buffer);
+ }
+
// Read integer value in TypedArray as percent.
private static float getPercent(TypedArray a, int index, int defValue) {
return a.getInt(index, defValue) / 100.0f;