ActionBarSherlock spinner no seleccionable en ActionBar – Tema relacionado
Algunos usuarios de mi aplicación experimentan un problema extraño al usar mi aplicación en modo horizontal. Estoy utilizando actionbarsherlock y han establecido el modo de navegación a pestañas (con ActionBar.NAVIGATION_MODE_TABS). Algunos usuarios están encontrando al lanzar la aplicación en el retrato y luego girar el dispositivo de la barra de acción muestra una lista de spinner en lugar de las pestañas (que aparentemente es el comportamiento esperado). El problema es que el hilandero no es seleccionable.
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); bar.addTab(bar.newTab().setText("Deals").setTabListener(this),false); bar.addTab(bar.newTab().setText("Vouchers").setTabListener(this),false); bar.addTab(bar.newTab().setText("Freebies").setTabListener(this),false);
EDIT Acabo de descubrir que está relacionado con mi tema personalizado. Cambiar el tema a la Sherlock.Light por defecto hace que el hilandero sea seleccionable. A continuación se muestra el tema personalizado.
- Obtener el valor de tema aplicado para una actividad mediante programación
- ¿Cómo se estila la barra de herramientas appcompat-v7 como Theme.AppCompat.Light.DarkActionBar?
- Android Honeycomb - Cambiar el estilo de la barra de herramientas
- Personalizar elementos de diálogo desplegables en WebView
- Color de acento Android DatePickerDialog (en v21 +)
<!-- Variation on the Holo Light theme that styles the Action Bar --> <style name="DealPadTheme" parent="Theme.Sherlock.Light.ForceOverflow"> <item name="android:selectableItemBackground">@drawable/ad_selectable_background</item> <item name="actionBarItemBackground">@drawable/ad_selectable_background</item> <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item> <item name="actionBarTabStyle">@style/MyActionBarTabStyle</item> <item name="android:actionBarStyle">@style/Widget.ActionBar</item> <item name="actionBarStyle">@style/Widget.ActionBar</item> <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item> <item name="dropDownListViewStyle">@style/MyDropDownListView</item> <item name="android:actionDropDownStyle">@style/MySpinner</item> <item name="actionDropDownStyle">@style/MySpinner</item> <item name="android:activatedBackgroundIndicator">@drawable/selectable_list_item</item> <item name="activatedBackgroundIndicator">@drawable/selectable_list_item</item> <item name="android:listSelector">@style/MyListView</item> </style> <style name="MyListView" parent="@android:style/Widget.ListView"> <item name="android:listSelector">@drawable/list_arrow_selected_holo</item> </style> <!-- style for the tabs --> <style name="MyActionBarTabStyle"> <item name="android:background">@drawable/actionbar_tab_bg</item> <item name="android:paddingLeft">16dp</item> <item name="android:paddingRight">16dp</item> <item name="android:gravity">center_horizontal</item> </style> <style name="Widget.ActionBar" parent="Widget.Sherlock.Light.ActionBar"> <item name="android:displayOptions">showHome|useLogo|showCustom</item> <!-- removed as not all activites need it <item name="android:customNavigationLayout">@layout/custom_action_bar</item> --> <item name="android:background">@drawable/ad_tab_unselected_holo</item> <item name="background">@drawable/ad_tab_unselected_holo</item> <item name="android:titleTextStyle">@style/Widget.ActionBar.Title</item> <item name="titleTextStyle">@style/Widget.ActionBar.Title</item> </style> <style name="Widget.ActionBar.Title" parent="Widget"> <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> <item name="android:textColor">?android:attr/textColorPrimary</item> </style> <!-- style the items within the overflow menu --> <style name="MyDropDownListView" parent="Widget.Sherlock.Light.ListView.DropDown"> <item name="android:listSelector">@drawable/ad_selectable_background</item> </style> <!-- style the items within the overflow menu --> <style name="MySpinner"> <item name="android:background">@drawable/spinner_background</item> </style>
- Cómo cambiar el color de texto del botón de Android de forma global en el tema
- Actividad translúcida llenando toda la pantalla
- Cómo cambiar el color predeterminado en todos los textos en mi aplicación de Android?
- PlacePicker no recoge temas de material
- Android: no puede resolver los temas de appcompat-v7
- No se puede encontrar Theme.AppCompat.Light para el nuevo soporte para Android ActionBar
- ¿Cómo referenciar los atributos de estilo de un drawable?
- Error: El atributo "theme" ya ha sido definido
Wow por lo que resulta que era como yo no había declarado el padre cuando themeing ActionDropDownStyle.
Es sólo cuando creé un nuevo proyecto fue que descubrí que estaba relacionado con el tema. Suponía que se trataba de un problema relacionado con el código o el cambio de orientación de manejo incorrectamente.
Haciendo las siguientes clases:
<!-- style the items within the overflow menu --> <style name="MySpinner" parent="Widget.Sherlock.Light.Spinner.DropDown.ActionBar" > <item name="android:background">@drawable/spinner_background</item> </style>
El único problema ahora es que algunos de los artículos spinner se cortan y se reemplazan con … Aunque creo que este es un error conocido.
- Cambiar la longitud de cada ráfaga en la carga de archivos multipart en android
- Cómo alinear los elementos del menú horizontalmente