您好我已经在我的应用程序中完成了以下操作 我可以分享我的内容,但它来自menuinflator而不是符号
Image shows that menuinflator has share button
如果我点击分享按钮,我可以分享,但我想拥有共享符号,怎么做? 我已阅读以下链接 https://developer.android.com/training/sharing/shareaction.html 但是符号没有来。
我的代码在
下面MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Menu xyz;
TextView t1 ;
private ShareActionProvider mShareActionProvider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.t1 = (TextView)findViewById(R.id.textView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu resource file.
getMenuInflater().inflate(R.menu.menu_filexml, menu);
menu.getItem(0).setVisible(true);
this.xyz = menu;
// Return true to display menu
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_share :
String code = " ";
code = this.t1.getText().toString();
Intent sendIntent = new Intent();
sendIntent.setAction("android.intent.action.SEND");
sendIntent.putExtra("android.intent.extra.TEXT", code);
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));
return true;
}
return super.onOptionsItemSelected(item);
}
}
菜单资源文件(menu_filexml.xml)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:title="Share"
android:actionProviderClass=
"android.widget.ShareActionProvider" />
</menu>
此代码允许我按图像中的方式工作,但共享符号不会出现
答案 0 :(得分:0)
您需要为菜单项使用自定义视图。只需创建一个布局文件并将其命名为“my_item_custom_view”并将您的图标设置为“ImageView”,然后分配如下的布局文件:
<item
android:id="@+id/menu_share"
android:title="share"
app:showAsAction="always"
app:actionLayout="@layout/my_item_custom_view"/>