gpt4 book ai didi

android - ActionBarSherlock 微调器在 ActionBar 中不可选 - 主题相关

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:45 25 4
gpt4 key购买 nike

我的应用程序的一些用户在横向模式下使用我的应用程序时遇到了一个奇怪的问题。我正在使用 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 使微调器可选择。自定义主题如下所示。

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

最佳答案

哇,事实证明这是因为我在为 ActionDropDownStyle 设置主题时没有声明父项。

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

进行以下排序:

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

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

关于android - ActionBarSherlock 微调器在 ActionBar 中不可选 - 主题相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10807528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com