我如何在android中使用共享图标

时间:2015-03-10 21:15:44

标签: android layout menu share

我确定这是一个重复的问题 - 但我似乎无法在线找到解决方法。

我正在尝试向我的应用添加分享按钮。但目前我遇到了问题,而不是共享图标(奇怪的USB /树/节点) - 我有溢出菜单的3个点 - 按下时,打开一个弹出选项 - 包含一个名为share的项目。

我有正确的功能 - 但我怎么能使用图标,而不是菜单+弹出废话。

谢谢 -

奥利

P.S。 android:icon =“@ drawable / ic_action_share”是一个完全有效的路径 - 所以它不是那个


QuestionActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        // Share Icon Functionality
        case R.id.menu_item_share : Intent sendIntent = new Intent();
                                    sendIntent.setAction(Intent.ACTION_SEND);
                                    sendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Help me, I'm stuck on a game!");
                                    sendIntent.putExtra(Intent.EXTRA_TEXT, shareTextFormatter());
                                    sendIntent.setType("text/plain");
                                    startActivity(sendIntent);
                                    break;
    }
    return false;
}

menu_question.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="schemas.android.com/apk/res-auto"
    tools:context="com.example.home.ditloids.QuestionActivity">

    <item
        android:id = "@+id/menu_item_share"
        app:showAsAction = "ifRoom"
        android:title = "Share"
        android:icon="@drawable/ic_action_share"
        android:actionProviderClass = "android.widget.ShareActionProvider" />
</menu>

2 个答案:

答案 0 :(得分:1)

您的xmlns:app命名空间错误,它缺少“http://”。

这会导致app:showAsAction被忽略。

答案 1 :(得分:0)

menu_question.xml 中,尝试将showAsAction更改为:

 <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="schemas.android.com/apk/res-auto"
tools:context="com.example.home.ditloids.QuestionActivity">

<item
    android:id = "@+id/menu_item_share"
    app:showAsAction = "always"
    android:title = "Share"
    android:icon="@drawable/ic_action_share"
    android:actionProviderClass = "android.widget.ShareActionProvider" />