您一直在尝试为我的应用添加共享功能。测试Moto G。
但ShareMenu是巨大的,甚至比屏幕更大。在肖像模式下似乎没问题。但是在风景中刹车。
http://postimg.org/image/ne7zzup43/
似乎有效,可能是因为它锁定了肖像>
我不得不更改代码以添加更多菜单项,共享子菜单变得奇怪。
这是我目前的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
uri = getIntent().getData();
setContentView(R.layout.activity_photo);
ImageView photoView = (ImageView) findViewById(R.id.photo);
photoView.setImageURI(uri);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//getMenuInflater().inflate(R.menu.activity_photo_menu, menu);
//return super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_photo_menu, menu);
return true;
}
private void sharePhoto() {
Intent share = new Intent(Intent.ACTION_SEND);
share.putExtra(Intent.EXTRA_STREAM, uri);
share.setType(MIME_TYPE);
startActivity(Intent.createChooser(share, "Share"));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_share:
sharePhoto();
return true;
case R.id.take_another:
Toast.makeText(getApplicationContext(), "Go to main Activity", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
protected void onResume() {
super.onResume();
invalidateOptionsMenu(); ///????? Redraw Menu on rotate?????
}
这是我目前的MENU 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:actionProviderClass="android.widget.ShareActionProvider"
android:showAsAction="ifRoom"
android:title="@string/action_share"/>
<item android:title="@string/take_another" android:id="@+id/take_another"></item>
</menu>
清单//(没有设置SDK要求)
<activity android:name="com.mycompany.myapp.photo.PhotoActivity" android:label="@string/app_name" />
PhotoActivity XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/photo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerInside" />
</LinearLayout>