0

如果操作栏占据屏幕宽度的 50% 以上,Android 应用程序的典型情况是,它会将菜单移动到屏幕底部。障碍在于它也会删除标题,无论它们是否适合。

在下面的屏幕截图中,您可以看到在 480x854 与 320x480 屏幕上运行的相同应用程序的比较。您可以看到它在较小的屏幕中移动菜单,但也删除了标题,尽管它们在那里很合适。

我正在使用 ActionBarSherlock。根据它的创建者 ,显示两者的唯一方法是在包含图标和文本的操作项中使用自定义视图。

你们中的一些人可以举一个简单的例子来说明如何做到这一点吗?我只对强制显示标题感兴趣,没什么特别的。我的应用程序没有什么不寻常的地方,但是如果您需要示例源代码,我可以为您提供。

splitActionBarWhenNarrow - 比较

4

1 回答 1

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

(来自此示例项目的片段)

就个人而言,我要么去掉拆分操作栏,要么让它按默认显示。

于 2013-04-29T12:41:59.533 回答