Android应用程序的典型特征是,如果操作栏占用屏幕宽度的50%以上,它会将菜单移动到屏幕底部。障碍是,无论它们是否合适,它都会删除标题。
在下面的屏幕截图中,您可以看到在480x854与320x480屏幕中运行相同应用的比较。你可以看到它在较小的屏幕上移动菜单但是删除了标题,尽管它们在那里很合适。
我正在使用ActionBarSherlock。 According to it's creator 显示两者的唯一方法是在包含图标和文字的操作项中使用自定义视图。
你们有些人能举出一些如何做到这一点的简单例子吗?我只对强制显示标题感兴趣,没什么特别的。我的应用程序中没有任何异常,但如果您需要示例源代码,我可以为您提供。
答案 0 :(得分:3)
你可以看到它在较小的屏幕上移动菜单但是删除了标题,尽管它们在那里很合适。
AFAIK,操作栏的底部部分从不显示标题。
你们中的一些人能举例说明如何做到这一点吗?
将android:actionView
元素添加到<item>
资源中的<menu>
,指向包含您想要的假菜单按钮的布局文件:
<item
android:id="@+id/add"
android:actionLayout="@layout/add"
android:icon="@android:drawable/ic_menu_add"
android:showAsAction="ifRoom"
android:title="@string/add"/>
在Java代码中,在对菜单资源进行充气后,您可以在关联的getActionView()
上调用MenuItem
来获取此夸大的布局并配置其小部件(例如,调用setOnClickListener()
) 。就我而言,我想要配置的小部件是EditText
:
EditText add=
(EditText)menu.findItem(R.id.add).getActionView()
.findViewById(R.id.title);
add.setOnEditorActionListener(this);
(来自this sample project的片段)
就个人而言,我要么摆脱拆分操作栏,要么将其显示为默认显示。