0

我有一个使用下拉导航的应用程序,操作栏标题可能会根据当前片段而改变。由于标题的长度不同,这会导致下拉微调器在操作栏周围不断移动,而不是保持静止(见下图)。有没有办法强制微调器在操作栏的左侧说或强制它的位置而不考虑标题长度?

在此处输入图像描述

4

1 回答 1

0

ActionBar showAsAction 布局内的属性设置为 always 应该足以使 ActionBar 中的微调器可见,无论文本是否进入它。文本较长时会被剪裁,但如果没有空间,则没有空间。

<item android:id="@+id/spinnerItem"
      ...
      android:showAsAction="always"/>

编辑:

如果您不处理布局文件,但仍在使用内置的 ActionBar 项,那么您可以通过其 id 获取该元素(如果您以某种方式提供该元素),然后在代码中设置属性将是一个普通的菜单组件。我不熟悉通过代码创建菜单项,因为我通常在这些的布局文件中这样做,但我相信你可以在引入它时获取它的 id 并将其存储在某个地方以在菜单设置阶段或稍后使用如果您想稍后设置此属性,请给定时间点。

@Override
public boolean onCreateOptionsMenu(Menu menuF)
{
    spinnerMenuItem_ = menuF.findItem(R.id.spinnerId);
    spinnerMenuItem_.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
于 2013-09-26T16:18:28.690 回答