将ImageView设置为可绘制(Android)

原谅我是新来的,而我的女性也许是不正确的:

我在class1中有一个图像数组,当图像被选中时,它的id被传递给class2(下面的代码),然后显示该图像,并给出选项将其设置为壁纸。 问题是,使用下面的代码我需要一个可绘制的分配壁纸,而不是ImageView。 有人可以给我一些指导,在我有“myWallpaperManager.setResource(需要在这里绘制一个drawable);”

提前致谢。 希望这是有道理的,因为我说我是一个noob!

public class FullWallView extends Activity { private Button wallbutton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.wallpaper_full); // get intent data Intent i = getIntent(); // Selected image id int position = i.getExtras().getInt("id"); ImageAdapter imageAdapter = new ImageAdapter(this); ImageView imageView = (ImageView) findViewById(R.id.full_wall_view); imageView.setImageResource(imageAdapter.mThumbIds[position]); //Making Button Clickable and setting the wallpaper wallbutton = (Button) findViewById(R.id.apply); wallbutton.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext()); try { myWallpaperManager.setResource(need a drawable here); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}); 

  • 更改remoteView ImageView背景
  • Android - 从计时器线程更新位图
  • ImageView:adjustViewBounds不能与layout_height =“fill_parent”一起使用?
  • 带有圆角和内部阴影的ImageView
  • 设置ImageView不适用于Android 5.0。 想法如何使它再次工作?
  • 裁剪/调整心形/框架中的图像
  • 如何在放大android后画一个圆
  • 为什么ImageView的getX,getY,setX和setY不能表示相对布局中的实际值?
  • 首先定义Drawable,然后将其设置在ImageView中。

     img=(ImageView)findViewById(R.id.imageview1); Drawable myDrawable = getResources().getDrawable(R.drawable.imageView1); img.setImageDrawable(myDrawable); 

    getResources()。getDrawable(int id)方法在API级别22中被弃用。

    你可以检查版本,然后使用这些方法:

      if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { imageView.setImageDrawable(getApplicationContext().getDrawable(R.drawable.myDrawable)); } else { imageView.setImageDrawable(getResources().getDrawable(R.drawable.myDrawable)); } 

    我刚刚注意到,你需要传递resourceID而不是Drawable,没有直接的方法从ImageView获取resourceID,为什么不尝试记住这个值,然后传递它。

    希望这有助于和享受您的工作