0

我在开发动作栏时遇到了很多问题。以下是我的需求:

  • 我想在我的操作栏中添加一个下拉菜单,由于一些自定义操作(例如动画),它正在使用自定义视图。

  • 下拉菜单必须可以从图像按钮(不是显示所选元素的文本区域的微调器)访问。

  • 允许显示下拉菜单的图像按钮必须位于操作栏的左侧。

  • 出现的下拉菜单必须包含可检查的项目,并且当用户检查一个项目时,下拉菜单必须不被隐藏(这允许用户一次检查多个项目)。

  • 我的应用程序必须从 android 2.3 开始工作(我为此使用了 action bar sherlock,我指定这个是因为我不能在 android 2.3 上使用 PopupMenu)。

通过将自定义视图 (actionBar.setCustomView(...)) 与菜单 (menuInflater.inflate(...)) 相结合,我已成功在操作栏中添加了一个下拉菜单。我认为我的 customview 的代码不是很重要,这是我的菜单的代码:

<item
    android:title="test"
    android:drawable="@drawable/dropdown_icon"
    android:showAsAction="always">

    <menu>

        <item
            android:id="@+id/item1"
            android:title="item 1"
            android:checkable="true"/>

        <item
            android:id="@+id/item2"
            android:title="item 2"
            android:checkable="true"/>

        <item
            android:id="@+id/item3"
            android:title="item 3"
            android:checkable="true"/>

    </menu>

</item>

使用此解决方案,我有以下问题:

  • 我无法将下拉项放在左侧(目前在右侧)
  • 当我检查下拉列表中的项目时,我的下拉列表会自行隐藏。我希望下拉菜单保持其显示状态。

我怎样才能达到我想要的?

PS:如你所见,英语不是我的母语。这些问题很难解释(即使用我的母语),所以如果有些句子不能理解,请告诉我,我会努力改进。

4

1 回答 1

0

我建议做最简单的事情:删除所有与 ActionBarSherlock 相关的代码,并在布局中添加您自己的视图,并将它们编程为动画、弹出、显示和隐藏。

于 2013-04-05T19:11:53.127 回答