diff --git a/java/res/layout/additional_subtype_dialog.xml b/java/res/layout/additional_subtype_dialog.xml index b7804f5df0ddd8b384563fc71bf03d6f7cd2fe2b..2de7d07a865a7c4b1d1fc2ae8173b8ec035b0320 100644 --- a/java/res/layout/additional_subtype_dialog.xml +++ b/java/res/layout/additional_subtype_dialog.xml @@ -38,7 +38,6 @@ android:text="@string/subtype_locale" /> <Spinner android:id="@+id/subtype_locale_spinner" - android:spinnerMode="dialog" android:layout_width="0dp" android:layout_weight="70" android:layout_height="wrap_content" @@ -47,7 +46,8 @@ android:layout_marginTop="8dip" android:layout_gravity="fill_horizontal|center_vertical" android:gravity="start|left" - android:prompt="@string/subtype_locale" /> + android:prompt="@string/subtype_locale" + style="@style/additionalSubtypeSpinnerStyle" /> </LinearLayout> <LinearLayout android:orientation="horizontal" @@ -63,7 +63,6 @@ android:text="@string/keyboard_layout_set" /> <Spinner android:id="@+id/keyboard_layout_set_spinner" - android:spinnerMode="dialog" android:layout_width="0dp" android:layout_weight="70" android:layout_height="wrap_content" @@ -72,6 +71,7 @@ android:layout_marginTop="8dip" android:layout_gravity="fill_horizontal|center_vertical" android:gravity="start|left" - android:prompt="@string/keyboard_layout_set" /> + android:prompt="@string/keyboard_layout_set" + style="@style/additionalSubtypeSpinnerStyle" /> </LinearLayout> </LinearLayout> diff --git a/java/res/values-v19/spinner-style.xml b/java/res/values-v19/spinner-style.xml new file mode 100644 index 0000000000000000000000000000000000000000..7de59edf3a03529de4af7cb8d95a775c9245bd51 --- /dev/null +++ b/java/res/values-v19/spinner-style.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<resources xmlns:android="http://schemas.android.com/apk/res/android"> + <!-- Until KitKat (API 19), {@link android.widget.Spinner} of dialog mode in a Dialog can't + handle orientation change correctly. Using dropdown mode avoids the issue. + This file overrides values/spinner-style.xml on KitKat and newer device. --> + <style name="additionalSubtypeSpinnerStyle"> + <item name="android:spinnerMode">dialog</item> + </style> +</resources> diff --git a/java/res/values/spinner-style.xml b/java/res/values/spinner-style.xml new file mode 100644 index 0000000000000000000000000000000000000000..6ad958d16f745f2251689f330dfc235e49f53234 --- /dev/null +++ b/java/res/values/spinner-style.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<resources xmlns:android="http://schemas.android.com/apk/res/android"> + <!-- Until KitKat (API 19), {@link android.widget.Spinner} of dialog mode in a Dialog can't + handle orientation change correctly. Using dropdown mode avoids the issue. + This file is overrode by values-v19/spinner-style.xml on KitKat and newer device. --> + <style name="additionalSubtypeSpinnerStyle"> + <item name="android:spinnerMode">dropdown</item> + </style> +</resources>