Java 是否可以在viewpager中共享位于社交平台上drawable文件夹中的图像?(一位用户说他不确定,你呢)
我已经创建了viewpager应用程序,它应该显示位于drawable文件夹中的图像。我阅读了android官方指南并修改了代码,但它对我不起作用。任何帮助都将不胜感激。用户应该能够共享位于drawable文件夹中的图像。根据手机中下载的应用程序,他们喜欢在各种平台上使用。。我的问题是可能吗?。如果是,请。。提供一些代码 以下是我的代码 Mainactivity.javaJava 是否可以在viewpager中共享位于社交平台上drawable文件夹中的图像?(一位用户说他不确定,你呢),java,android,android-viewpager,share,Java,Android,Android Viewpager,Share,我已经创建了viewpager应用程序,它应该显示位于drawable文件夹中的图像。我阅读了android官方指南并修改了代码,但它对我不起作用。任何帮助都将不胜感激。用户应该能够共享位于drawable文件夹中的图像。根据手机中下载的应用程序,他们喜欢在各种平台上使用。。我的问题是可能吗?。如果是,请。。提供一些代码 以下是我的代码 Mainactivity.java import android.app.Activity; import android.content.Inte
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ShareActionProvider;
public class MainActivity extends Activity {
MediaPlayer oursong;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
oursong = MediaPlayer.create(MainActivity.this, R.raw.a);
oursong.start ();
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
ImageAdapter adapter = new ImageAdapter(this);
viewPager.setAdapter(adapter);
}
private ShareActionProvider mShareActionProvider;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu resource file.
getMenuInflater().inflate(R.menu.activity_main, menu);
// Locate MenuItem with ShareActionProvider
MenuItem item = menu.findItem(R.id.menu_item_share);
// Fetch and store ShareActionProvider
mShareActionProvider = (ShareActionProvider) item.getActionProvider();
// Return true to display menu
return true;
}
// Call to update the share intent
private void setShareIntent(Intent shareIntent) {
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(shareIntent);
}
}
@Override
protected void onPause(){
super.onPause();
oursong.release();
}
}
imageadapter.java
import java.io.IOException;
import android.app.WallpaperManager;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
public class ImageAdapter extends PagerAdapter {
Context context;
private final int[] GalImages = new int[] {
R.drawable.one,
R.drawable.two,
R.drawable.three
};
ImageAdapter(Context context){
this.context=context;
}
@Override
public int getCount() {
return GalImages.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, final int position) {
ImageView imageView = new ImageView(context);
int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_small);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageResource(GalImages[position]);
imageView.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
WallpaperManager myWallpaperManager = WallpaperManager.getInstance(context);
try {
myWallpaperManager.setResource(GalImages[position]);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
((ViewPager) container).addView(imageView, 0);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
我是android编程新手,所以请提供一些解释和代码。如果可能的话。谢谢
用户应该能够在各种网络上共享他们喜欢的图像
根据手机中下载的应用程序选择平台
是的,当然有可能
您必须使用Intent
s来执行此操作。我不确定是否可以从drawable文件夹发送图像,从未尝试过。但是,如果您想让人们共享图库中的图像或其他内容:
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
Uri uri = Uri.parse(pathToImage);
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(shareIntent),"Share Via...")
这意味着它代表了应用程序希望发送图像的意图 …我不确定。。但你所说的“多媒体资料”是指储存在手机上的图像。。对吧?是的,没错。手机上的图像。:)