如何在ActionBar中获取自定义动作的小灰色三角形(通常表示微调器/子菜单)?我设法为我的动作添加子菜单,但没有看到在右下角添加小三角形的方法。 (使用android.widget.ShareActionProvider时相同)
我想要它(来自API演示的样本):
我可以编辑子菜单,但不能将小灰色三角形放在我的动作图标的右下角:
我的菜单代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_new_form"
android:icon="@drawable/ic_new_form"
android:title="@string/menu_new_form"
android:showAsAction="ifRoom|withText">
<menu>
<item android:id="@+id/action_sort_size"
android:icon="@android:drawable/ic_menu_sort_by_size"
android:title="Form 1"
android:onClick="onSort" />
<item android:id="@+id/action_sort_alpha"
android:icon="@android:drawable/ic_menu_sort_alphabetically"
android:title="Form 2"
android:onClick="onSort" />
</menu>
</item>
</menu>
答案 0 :(得分:3)
我已经查看了Android的来源,以及Google如何实现它:
(这是ic_menu_share_holo_light.png)
因此,如果谷歌直接在图标图像中绘制这个小三角形,我想这是目前最好的做法。
答案 1 :(得分:0)
当您使用Intent.createChooser(intent, "heading")
设置按钮开始活动时,第一张图片中的灰色三角形可用。
但是,在您的技术中,您提供的菜单选项包含子菜单。为简单起见,您可以简单地创建一个底部有灰色三角形的图标。
通过要求用户选择选项来共享消息的示例:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_SUBJECT, note.getHead());
share.putExtra(Intent.EXTRA_TEXT, "this is a demo message");
context.startActivity(Intent.createChooser(share, "Share message"));