ActionBarSherlock微调不可选行动条 – 主题相关

我的应用程序的一些用户在横向模式下使用我的应用程序时遇到了一个奇怪的问题。 我正在使用actionbarsherlock并将导航模式设置为选项卡(使用ActionBar.NAVIGATION_MODE_TABS)。 有些用户正在寻找以纵向方式启动应用程序,然后旋转设备的操作栏显示一个微调列表,而不是标签(这显然是预期的行为)。 问题是微调不可选。

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); 

编辑只是发现它与我的自定义主题有关。 将主题更改为默认的Sherlock.Light使得微调器可以select。 自定义主题如下所示。

 <!-- 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> 

哇,所以事实certificate,这是因为我没有说主办ActionDropDownStyle时父。

只有当我创build一个新的项目,我发现它是与主题有关。我推测这是一个有关代码或处理方向更改不正确的问题。

做下面的分类:

 <!-- 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> 

现在唯一的问题是一些微调项目被切断并取代…虽然我认为这是一个已知的错误。