diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/res/drawable-hdpi/more_suggestions_hint_holo.png | bin | 0 -> 242 bytes | |||
-rw-r--r-- | java/res/drawable-mdpi/more_suggestions_hint_holo.png | bin | 0 -> 222 bytes | |||
-rw-r--r-- | java/res/drawable-xhdpi/more_suggestions_hint_holo.png | bin | 0 -> 310 bytes | |||
-rw-r--r-- | java/res/values/attrs.xml | 5 | ||||
-rw-r--r-- | java/res/values/styles.xml | 16 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/SuggestionsView.java | 39 |
6 files changed, 44 insertions, 16 deletions
diff --git a/java/res/drawable-hdpi/more_suggestions_hint_holo.png b/java/res/drawable-hdpi/more_suggestions_hint_holo.png Binary files differnew file mode 100644 index 000000000..93604752b --- /dev/null +++ b/java/res/drawable-hdpi/more_suggestions_hint_holo.png diff --git a/java/res/drawable-mdpi/more_suggestions_hint_holo.png b/java/res/drawable-mdpi/more_suggestions_hint_holo.png Binary files differnew file mode 100644 index 000000000..7352810d3 --- /dev/null +++ b/java/res/drawable-mdpi/more_suggestions_hint_holo.png diff --git a/java/res/drawable-xhdpi/more_suggestions_hint_holo.png b/java/res/drawable-xhdpi/more_suggestions_hint_holo.png Binary files differnew file mode 100644 index 000000000..35fb42087 --- /dev/null +++ b/java/res/drawable-xhdpi/more_suggestions_hint_holo.png diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index a876e2889..9358c9085 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 9fa4d842e..6aa967410 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 380e73bc0..13beb4479 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; } @@ -792,11 +808,10 @@ public class SuggestionsView extends RelativeLayout implements OnClickListener, final int translatedY = moreKeysPanel.translateY(y); if (mCheckingIfModalOrSlidingMode) { - final int deltaX = Math.abs(x - mOriginX); - final int deltaY = Math.abs(y - mOriginY); - if (deltaX >= mMoreSuggestionsModalTolerance - || deltaY >= mMoreSuggestionsModalTolerance) { - // Decided to be in the sliding input mode + if (Math.abs(x - mOriginX) >= mMoreSuggestionsModalTolerance + || mOriginY - y >= mMoreSuggestionsModalTolerance) { + // Decided to be in the sliding input mode only when the touch point has been moved + // upward. mCheckingIfModalOrSlidingMode = false; tracker.onShowMoreKeysPanel( translatedX, translatedY, SystemClock.uptimeMillis(), moreKeysPanel); |