diff options
author | 2010-12-06 21:26:38 +0900 | |
---|---|---|
committer | 2010-12-08 16:55:36 +0900 | |
commit | e49bd1c43acad08f103b38430a8bbcba23f325b3 (patch) | |
tree | 8c4cee6b9ab4340ff73b0ebf2ff151bbacab921b /java/src/com/android/inputmethod/latin/LatinIME.java | |
parent | ada7ad2b0d0e0f1c908104fd4c7b6fda8ceab87f (diff) | |
download | latinime-e49bd1c43acad08f103b38430a8bbcba23f325b3.tar.gz latinime-e49bd1c43acad08f103b38430a8bbcba23f325b3.tar.xz latinime-e49bd1c43acad08f103b38430a8bbcba23f325b3.zip |
Implement CandidateView using HorizontalScrollView
This change re-implements CandidateView using HorizontalScrollView and
customized Button, so that the candidate strip can be flingable.
This change also introduces the following features.
- Highlighting candidate strip and space bar is configurable by
@bool/config_candidate_highlight_enabled.
- Candidate strip can be centered with left/right padding if
@dimen/candidate_strip_padding size is greater than 0.
- Candidate text size is configurable by @dimen/candidate_text_size.
Bug: 1575885
Bug: 3230726
Change-Id: Iedf78ff31bc9f2f6291a8e8fb7faa0e6b961dd6d
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LatinIME.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 3089153ad..16a369a9e 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -51,8 +51,10 @@ import android.util.DisplayMetrics; import android.util.Log; import android.util.PrintWriterPrinter; import android.util.Printer; +import android.view.Gravity; import android.view.HapticFeedbackConstants; import android.view.KeyEvent; +import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; @@ -65,6 +67,7 @@ import android.view.inputmethod.ExtractedTextRequest; import android.view.inputmethod.InputConnection; import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodSubtype; +import android.widget.HorizontalScrollView; import android.widget.LinearLayout; import java.io.FileDescriptor; @@ -127,7 +130,7 @@ public class LatinIME extends InputMethodService SUGGESTION_VISIBILILTY_HIDE_VALUE }; - private LinearLayout mCandidateViewContainer; + private View mCandidateViewContainer; private CandidateView mCandidateView; private Suggest mSuggest; private CompletionInfo[] mCompletions; @@ -496,12 +499,19 @@ public class LatinIME extends InputMethodService @Override public View onCreateCandidatesView() { - mCandidateViewContainer = (LinearLayout) getLayoutInflater().inflate( - R.layout.candidates, null); - mCandidateView = (CandidateView) mCandidateViewContainer.findViewById(R.id.candidates); + LayoutInflater inflater = getLayoutInflater(); + LinearLayout container = (LinearLayout)inflater.inflate(R.layout.candidates, null); + mCandidateViewContainer = container; + if (container.getPaddingRight() != 0) { + HorizontalScrollView scrollView = + (HorizontalScrollView) container.findViewById(R.id.candidates_scroll_view); + scrollView.setOverScrollMode(View.OVER_SCROLL_NEVER); + container.setGravity(Gravity.CENTER_HORIZONTAL); + } + mCandidateView = (CandidateView) container.findViewById(R.id.candidates); mCandidateView.setService(this); setCandidatesViewShown(true); - return mCandidateViewContainer; + return container; } private static boolean isPasswordVariation(int variation) { |