diff --git a/res/drawable-land/spinner_dropdown_background_down.9.png b/res/drawable-land/spinner_dropdown_background_down.9.png new file mode 100644 index 0000000000..bb64b7817f Binary files /dev/null and b/res/drawable-land/spinner_dropdown_background_down.9.png differ diff --git a/res/drawable-land/spinner_dropdown_background_up.9.png b/res/drawable-land/spinner_dropdown_background_up.9.png new file mode 100644 index 0000000000..c0e2a66536 Binary files /dev/null and b/res/drawable-land/spinner_dropdown_background_up.9.png differ diff --git a/res/drawable/spinner_dropdown_background.xml b/res/drawable/spinner_dropdown_background.xml new file mode 100644 index 0000000000..9c37286a2e --- /dev/null +++ b/res/drawable/spinner_dropdown_background.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/res/drawable/spinner_dropdown_background_down.9.png b/res/drawable/spinner_dropdown_background_down.9.png new file mode 100644 index 0000000000..9cb555685b Binary files /dev/null and b/res/drawable/spinner_dropdown_background_down.9.png differ diff --git a/res/drawable/spinner_dropdown_background_up.9.png b/res/drawable/spinner_dropdown_background_up.9.png new file mode 100644 index 0000000000..5c93f78ffd Binary files /dev/null and b/res/drawable/spinner_dropdown_background_up.9.png differ diff --git a/res/layout/widget_search.xml b/res/layout/widget_search.xml index f87d30f162..1db8488a9d 100644 --- a/res/layout/widget_search.xml +++ b/res/layout/widget_search.xml @@ -42,6 +42,8 @@ android:inputType="textAutoComplete" android:imeOptions="actionSearch" android:lines="1" + android:dropDownWidth="fill_parent" + android:popupBackground="@drawable/spinner_dropdown_background" /> + + + + 19dip + diff --git a/src/com/android/launcher/Search.java b/src/com/android/launcher/Search.java index 97dcd980be..71ab7ef448 100644 --- a/src/com/android/launcher/Search.java +++ b/src/com/android/launcher/Search.java @@ -328,6 +328,33 @@ public class Search extends LinearLayout implements OnClickListener, OnKeyListen configureVoiceSearchButton(); } + /** + * Cache of popup padding value after read from {@link Resources}. + */ + private static float mPaddingInset = -1; + + /** + * When our size is changed, pass down adjusted width and offset values to + * correctly center the {@link AutoCompleteTextView} popup and include our + * padding. + */ + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + if (changed) { + if (mPaddingInset == -1) { + mPaddingInset = getResources().getDimension(R.dimen.search_widget_inset); + } + + // Fill entire width of widget, minus padding inset + float paddedWidth = getWidth() - (mPaddingInset * 2); + float paddedOffset = -(mSearchText.getLeft() - mPaddingInset); + + mSearchText.setDropDownWidth((int) paddedWidth); + mSearchText.setDropDownHorizontalOffset((int) paddedOffset); + } + } + /** * Read the searchable info from the search manager */