在左侧的自定义操作栏视图上添加下拉列表,其中包含可检查项目

时间:2013-04-05 19:03:30

标签: android drop-down-menu checkbox android-actionbar

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

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

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

  • 允许显示下拉列表的图片按钮必须位于操作栏的左侧。

  • 显示的下拉列表必须包含可检查项目,并且当用户检查项目时,必须不隐藏下拉列表(这允许用户一次检查多个项目)。

    < / LI>
  • 我的应用程序必须从android 2.3开始工作(我使用动作栏sherlock为此,我指定这个因为我无法在Android 2.3上使用PopupMenu)。

    < / LI>

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

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

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

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

我如何实现我的目标?

P.S:你可以读到,英语不是我的母语。这些问题很难解释(即使用我的母语),所以如果一些句子不可理解,请告诉我,我会尽力改进它们。

1 个答案:

答案 0 :(得分:0)

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