diff --git a/java/res/drawable-hdpi/more_suggestions_hint_holo.png b/java/res/drawable-hdpi/more_suggestions_hint_holo.png new file mode 100644 index 0000000000000000000000000000000000000000..93604752b08d4a809d339281853053b3a8312263 Binary files /dev/null and b/java/res/drawable-hdpi/more_suggestions_hint_holo.png differ diff --git a/java/res/drawable-mdpi/more_suggestions_hint_holo.png b/java/res/drawable-mdpi/more_suggestions_hint_holo.png new file mode 100644 index 0000000000000000000000000000000000000000..7352810d3d5ca4cf4d5d6dc554930f09a8c1284e Binary files /dev/null and b/java/res/drawable-mdpi/more_suggestions_hint_holo.png differ diff --git a/java/res/drawable-xhdpi/more_suggestions_hint_holo.png b/java/res/drawable-xhdpi/more_suggestions_hint_holo.png new file mode 100644 index 0000000000000000000000000000000000000000..35fb4208784d06d58faf92c52d9e3fd99ff897db Binary files /dev/null and b/java/res/drawable-xhdpi/more_suggestions_hint_holo.png differ diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index a876e28890182a60e5dcf22b002dda5b21bcbbae..9358c9085ace19ea96b78ebe5d5219ba5c58ccf8 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -126,8 +126,13 @@ <attr name="colorTypedWord" format="color" /> <attr name="colorAutoCorrect" format="color" /> <attr name="colorSuggested" format="color" /> + <attr name="alphaTypedWord" format="integer" /> + <attr name="alphaAutoCorrect" format="integer" /> + <attr name="alphaSuggested" format="integer" /> + <attr name="alphaObsoleted" format="integer" /> <attr name="suggestionsCountInStrip" format="integer" /> <attr name="centerSuggestionPercentile" format="integer" /> + <attr name="moreSuggestionsHint" format="reference" /> <attr name="maxMoreSuggestionsRow" format="integer" /> <attr name="minMoreSuggestionsWidth" format="float" /> </declare-styleable> diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml index 9fa4d842ed932d7b96f30d1e893bccf0094ed69c..6aa967410ffaf13aa379d73ad7ae622b7258022f 100644 --- a/java/res/values/styles.xml +++ b/java/res/values/styles.xml @@ -96,11 +96,13 @@ parent="SuggestionsStripBackgroundStyle" > <item name="suggestionStripOption">autoCorrectBold</item> - <item name="colorTypedWord">#FFFFFFFF</item> + <item name="colorTypedWord">@android:color/white</item> <item name="colorAutoCorrect">#FFFCAE00</item> <item name="colorSuggested">#FFFCAE00</item> + <item name="alphaObsoleted">50</item> <item name="suggestionsCountInStrip">@integer/suggestions_count_in_strip</item> <item name="centerSuggestionPercentile">@integer/center_suggestion_percentile</item> + <item name="moreSuggestionsHint">@drawable/more_suggestions_hint</item> <item name="maxMoreSuggestionsRow">@integer/max_more_suggestions_row</item> <item name="minMoreSuggestionsWidth">@fraction/min_more_suggestions_width</item> </style> @@ -272,11 +274,17 @@ parent="SuggestionsStripBackgroundStyle.IceCreamSandwich" > <item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item> - <item name="colorTypedWord">#FFBCBEC0</item> - <item name="colorAutoCorrect">#FF0099CC</item> - <item name="colorSuggested">#FFA7A9AC</item> + <!-- android:color/holo_blue_light=#FF33B5E5 --> + <item name="colorTypedWord">@android:color/holo_blue_light</item> + <item name="colorAutoCorrect">@android:color/holo_blue_light</item> + <item name="colorSuggested">@android:color/holo_blue_light</item> + <item name="alphaTypedWord">85</item> + <item name="alphaAutoCorrect">100</item> + <item name="alphaSuggested">70</item> + <item name="alphaObsoleted">70</item> <item name="suggestionsCountInStrip">@integer/suggestions_count_in_strip</item> <item name="centerSuggestionPercentile">@integer/center_suggestion_percentile</item> + <item name="moreSuggestionsHint">@drawable/more_suggestions_hint_holo</item> <item name="maxMoreSuggestionsRow">@integer/max_more_suggestions_row</item> <item name="minMoreSuggestionsWidth">@fraction/min_more_suggestions_width</item> </style> diff --git a/java/src/com/android/inputmethod/latin/SuggestionsView.java b/java/src/com/android/inputmethod/latin/SuggestionsView.java index 380e73bc034b75d5a426c9d7f76c6b08f6e569d6..b00036b49f3aefda421a8a1ea94c49715eeb0f11 100644 --- a/java/src/com/android/inputmethod/latin/SuggestionsView.java +++ b/java/src/com/android/inputmethod/latin/SuggestionsView.java @@ -163,6 +163,7 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener, private final int mColorTypedWord; private final int mColorAutoCorrect; private final int mColorSuggested; + private final float mAlphaObsoleted; private final float mCenterSuggestionWeight; private final int mCenterSuggestionIndex; private final Drawable mMoreSuggestionsHint; @@ -205,15 +206,26 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener, final TypedArray a = context.obtainStyledAttributes( attrs, R.styleable.SuggestionsView, defStyle, R.style.SuggestionsViewStyle); mSuggestionStripOption = a.getInt(R.styleable.SuggestionsView_suggestionStripOption, 0); - mColorTypedWord = a.getColor(R.styleable.SuggestionsView_colorTypedWord, 0); - mColorAutoCorrect = a.getColor(R.styleable.SuggestionsView_colorAutoCorrect, 0); - mColorSuggested = a.getColor(R.styleable.SuggestionsView_colorSuggested, 0); + final float alphaTypedWord = getPercent(a, + R.styleable.SuggestionsView_alphaTypedWord, 100); + final float alphaAutoCorrect = getPercent(a, + R.styleable.SuggestionsView_alphaAutoCorrect, 100); + final float alphaSuggested = getPercent(a, + R.styleable.SuggestionsView_alphaSuggested, 100); + mAlphaObsoleted = getPercent(a, R.styleable.SuggestionsView_alphaSuggested, 100); + mColorTypedWord = applyAlpha( + a.getColor(R.styleable.SuggestionsView_colorTypedWord, 0), alphaTypedWord); + mColorAutoCorrect = applyAlpha( + a.getColor(R.styleable.SuggestionsView_colorAutoCorrect, 0), alphaAutoCorrect); + mColorSuggested = applyAlpha( + a.getColor(R.styleable.SuggestionsView_colorSuggested, 0), alphaSuggested); mSuggestionsCountInStrip = a.getInt( R.styleable.SuggestionsView_suggestionsCountInStrip, DEFAULT_SUGGESTIONS_COUNT_IN_STRIP); - mCenterSuggestionWeight = a.getInt( + mCenterSuggestionWeight = getPercent(a, R.styleable.SuggestionsView_centerSuggestionPercentile, - DEFAULT_CENTER_SUGGESTION_PERCENTILE) / 100.0f; + DEFAULT_CENTER_SUGGESTION_PERCENTILE); + mMoreSuggestionsHint = a.getDrawable(R.styleable.SuggestionsView_moreSuggestionsHint); mMaxMoreSuggestionsRow = a.getInt( R.styleable.SuggestionsView_maxMoreSuggestionsRow, DEFAULT_MAX_MORE_SUGGESTIONS_ROW); @@ -222,7 +234,6 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener, a.recycle(); mCenterSuggestionIndex = mSuggestionsCountInStrip / 2; - mMoreSuggestionsHint = res.getDrawable(R.drawable.more_suggestions_hint); mMoreSuggestionsBottomGap = res.getDimensionPixelOffset( R.dimen.more_suggestions_bottom_gap); @@ -235,6 +246,11 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener, mHintToSaveText = context.getText(R.string.hint_add_to_dictionary); } + // Read integer value in TypedArray as percent. + private static float getPercent(TypedArray a, int index, int defValue) { + return a.getInt(index, defValue) / 100.0f; + } + // Read fraction value in TypedArray as float. private static float getRatio(TypedArray a, int index) { return a.getFraction(index, 1000, 1000, 1) / 1000.0f; @@ -293,7 +309,7 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener, final SuggestedWordInfo info = (pos < suggestions.size()) ? suggestions.getInfo(pos) : null; if (info != null && info.isObsoleteSuggestedWord()) { - return applyAlpha(color, 0.5f); + return applyAlpha(color, mAlphaObsoleted); } else { return color; }