如何使用 android 中的共享图标
How can I use the share icon in android
我确定这是一个重复的问题 - 但我似乎无法在线找到解决方法。
我正在尝试向我的应用程序添加一个共享按钮。但目前我遇到了一个问题,而不是共享图标(奇怪的 USB/tree/node 东西) - 我有 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>
在 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" />
您的 xmlns:app 命名空间错误,缺少 "http://"。
这导致 app:showAsAction 被忽略。
我确定这是一个重复的问题 - 但我似乎无法在线找到解决方法。
我正在尝试向我的应用程序添加一个共享按钮。但目前我遇到了一个问题,而不是共享图标(奇怪的 USB/tree/node 东西) - 我有 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>
在 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" />
您的 xmlns:app 命名空间错误,缺少 "http://"。
这导致 app:showAsAction 被忽略。