我正在使用ActionbarSherlock
开发一个应用程序以实现向后兼容性,而且我目前在添加到Spinner
的{{1}}时遇到问题。
情景:
我正在使用ActionBar
,每个标签都是ActionBar.NAVIGATION_MODE_TABS
,并带有自己的充气菜单。
我可以通过膨胀和填充菜单或Fragment
来解决问题,但问题是当用户点击它时Spinner
没有扩展。但是,当用户滑动到另一个Spinner
fragment
展开时(并显示在错误的Spinner
中),当再次向后滑动时,fragment
按预期工作纠正Spinner
。
此问题仅发生在设备< 4.0.x上(尚未尝试3.x)。在> 4.0.x上测试时,它按预期工作。
我已经尝试过调试并通过回调方法,但我无法弄清楚为什么会发生这种情况。它可能是旧版Android中的错误,还是因为菜单等处理不同? (不应该因为我正在使用fragment
)。
有没有人知道为什么会这样?
修改
我注意到ActionbarSherlock
的问题出现在fragments/tabs
的第一个问题上,无论菜单中的操作项是什么。第一个ViewPager
,即tab
启动后处于活动状态的Activity
,从未出现此问题。
只是我缺少某些东西,或者这是它应该如何?
答案 0 :(得分:0)
试试这个,它可能对你有帮助
对于微调器
<com.actionbarsherlock.internal.widget.IcsSpinner
android:id="@+id/spinner_id_name"
style="@style/your_style_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:scrollbars="none" />
在style.xml中,您应用此
<style name="your_style_name">
<item name="android:dropDownWidth">fill_parent</item>
<item name="android:background">@drawable/spinner_background</item>
<item name="android:popupBackground">@drawable/spinner_dropdown_background</item>
<item name="android:divider">@color/gray_darkest</item>
<item name="android:alignmentMode">alignBounds</item>
<item name="android:dividerHeight">2dp</item>
<item name="android:scrollbars">none</item>
<item name="android:scrollbarAlwaysDrawVerticalTrack">false</item>
<item name="android:scrollbarTrackVertical">@android:color/transparent</item>
<item name="android:dropDownSelector">@android:color/holo_dark</item>
<item name="android:requiresFadingEdge">none</item>
</style>
答案 1 :(得分:0)
我有一个非常类似的问题。就我而言,Activity
正在扩展另一个,而“父”活动正在false
函数中返回onPrepareOptionsMenu()
。这导致Android 2.x上的错误行为,在Android 4上一切都还可以。当我更改代码以返回true
时,所有内容都已修复。我注意到的另一个非常奇怪的事情是,非工作ActionItem
图标比较好的图标(在另一个Activity
中更深)。