【问题标题】:Add dropdown on custom action bar view at left, with checkable items在左侧的自定义操作栏视图上添加下拉菜单,并带有可检查的项目
【发布时间】:2013-03-28 07:38:33
【问题描述】:

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

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

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

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

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

  • 我的应用程序必须在 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>

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 感谢您的快速回答,但是,如果我能够做到这一点(创建这个“特殊”下拉弹出窗口),那么删除 ActionBarSherlock 将毫无用处!我解释说:我的自定义视图包含一个包含按钮的自定义布局,我可以点击这些按钮做我想做的事。所以,你的答案并不能解决任何问题。如果您向我展示如何在按钮位置创建一个下拉菜单,其中包含可以按我想要的方式工作的可检查项目,并且所有这些都与 android 2.3 兼容,我会接受答案:-)
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    相关资源
    最近更新 更多