diff --git a/res/layout/user_dictionary_add_word.xml b/res/layout/user_dictionary_add_word.xml index 26cfd6853ec..25c61f709ba 100644 --- a/res/layout/user_dictionary_add_word.xml +++ b/res/layout/user_dictionary_add_word.xml @@ -37,47 +37,60 @@ android:background="@android:color/holo_blue_light" /> - - - - - - - + + - + + + - + android:layout_gravity="left|center_vertical" + android:text="@string/user_dict_settings_add_shortcut_option_name" + android:visibility="gone" /> + + + + Less options OK - + + Word: + Shortcut: - + Language: Edit word diff --git a/src/com/android/settings/inputmethod/UserDictionaryAddWordActivity.java b/src/com/android/settings/inputmethod/UserDictionaryAddWordActivity.java index 0f89a9510b4..13c226fcd42 100644 --- a/src/com/android/settings/inputmethod/UserDictionaryAddWordActivity.java +++ b/src/com/android/settings/inputmethod/UserDictionaryAddWordActivity.java @@ -32,7 +32,6 @@ import android.content.Intent; import android.os.Bundle; import android.provider.UserDictionary; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; @@ -55,6 +54,14 @@ public class UserDictionaryAddWordActivity extends Activity private static final int MODE_EDIT = 0; private static final int MODE_INSERT = 1; + private static final int[] IDS_SHOWN_ONLY_IN_MORE_OPTIONS_MODE = { + R.id.user_dictionary_add_word_label, + R.id.user_dictionary_add_shortcut_label, + R.id.user_dictionary_add_locale_label, + R.id.user_dictionary_settings_add_dialog_shortcut, + R.id.user_dictionary_settings_add_dialog_locale, + }; + private EditText mEditText; private int mMode; // Either MODE_EDIT or MODE_INSERT private String mOldWord; @@ -106,7 +113,10 @@ public class UserDictionaryAddWordActivity extends Activity onClickMoreOptions(findViewById(R.id.user_dictionary_settings_add_dialog_more_options)); } - final ViewGroup v = (ViewGroup)findViewById(R.id.user_dict_settings_add_dialog_top); + // TODO: The following code enables layout transition for eye-candy, but there is still + // a jankiness issue with the window moving on one frame, resizing suddenly on the next, + // and animation only starting afterwards on children. + final ViewGroup v = (ViewGroup)findViewById(R.id.user_dictionary_add_word_grid); final LayoutTransition transition = new LayoutTransition(); transition.setStartDelay(LayoutTransition.APPEARING, 0); v.setLayoutTransition(transition); @@ -168,6 +178,7 @@ public class UserDictionaryAddWordActivity extends Activity mDescription = Utils.createLocaleFromString(localeString).getDisplayName(); } } + @Override public String toString() { return mDescription; } @@ -184,9 +195,10 @@ public class UserDictionaryAddWordActivity extends Activity } public void onClickMoreOptions(final View v) { - final View moreOptionsView = - findViewById(R.id.user_dict_settings_add_dialog_shortcut_interface); - moreOptionsView.setVisibility(View.VISIBLE); + for (final int idToShow : IDS_SHOWN_ONLY_IN_MORE_OPTIONS_MODE) { + final View viewToShow = findViewById(idToShow); + viewToShow.setVisibility(View.VISIBLE); + } findViewById(R.id.user_dictionary_settings_add_dialog_more_options) .setVisibility(View.GONE); findViewById(R.id.user_dictionary_settings_add_dialog_less_options) @@ -223,9 +235,10 @@ public class UserDictionaryAddWordActivity extends Activity } public void onClickLessOptions(final View v) { - final View moreOptionsView = - findViewById(R.id.user_dict_settings_add_dialog_shortcut_interface); - moreOptionsView.setVisibility(View.GONE); + for (final int idToHide : IDS_SHOWN_ONLY_IN_MORE_OPTIONS_MODE) { + final View viewToHide = findViewById(idToHide); + viewToHide.setVisibility(View.GONE); + } findViewById(R.id.user_dictionary_settings_add_dialog_more_options) .setVisibility(View.VISIBLE); findViewById(R.id.user_dictionary_settings_add_dialog_less_options)