我的操作栏菜单项会切断操作栏Spinner的宽度,以便Spinner的文本被截断。我已将所有菜单项设置为使用“ifRoom”,但遗憾的是,它们将原始Spinner宽度解释为可用空间。
当我有三个菜单项时,这是截断(是的,我知道第三个图标看起来与第二个图标相同):
这是我在评论第三个菜单项时得到的结果。最终,我想要一些看起来像这样的东西,但是显示溢出图标而不是搜索图标:
我使用自定义适配器填充Spinner(从BaseAdapter扩展并实现SpinnerAdapter)。
这是我的菜单XML:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/ab_refresh"
android:orderInCategory="1"
android:showAsAction="ifRoom"
android:title="@string/ab_refresh"
android:icon="@drawable/navigation_refresh"/>
<item
android:id="@+id/ab_search"
android:orderInCategory="2"
android:showAsAction="ifRoom|collapseActionView"
android:title="@string/ab_search"
android:icon="@drawable/action_search"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"/>
<item
android:id="@+id/ab_toggle"
android:orderInCategory="3"
android:showAsAction="ifRoom"
android:title="@string/ab_latest"
android:icon="@drawable/action_search"/>
</menu>
这是我的ab_dropdown XML(在我的自定义适配器的getView中使用):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rel"
android:layout_width="match_parent"
android:layout_height="30dp"
android:gravity="fill_horizontal">
<TextView
android:id="@+id/txt"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="20sp"
android:textStyle="bold"
android:layout_marginLeft="5dp"
android:layout_marginTop="1dp" />
</RelativeLayout>
我尝试了什么:
有什么想法吗?
答案 0 :(得分:0)
就个人而言,我会切换到导航抽屉并转储下拉列表导航。
话虽如此,听起来你需要两个版本的菜单资源。默认情况下,工具栏中的第三个项目为never
(始终处于溢出状态),并且在较大的屏幕上为ifRoom
(例如res/menu-sw600dp/
)。
您还可以尝试使用AutoScaleTextView
下拉列表导航标签。
操作栏的导航部分被认为是最不重要的,这就是ifRoom
认为有空间的原因。