你如何从Android包中的资源ID获取可绘制的对象?
我需要得到一个可绘制对象来显示图像button。 有没有办法使用下面的代码(或类似的东西)从android.R.drawable。*包中获取对象?
例如,如果drawableId是android.R.drawable.ic_delete
mContext.getResources().getDrawable(drawableId) 
	
 Drawable d = getResources().getDrawable(android.R.drawable.ic_dialog_email); ImageView image = (ImageView)findViewById(R.id.image); image.setImageDrawable(d); 
 从API 21起 ,您应该使用getDrawable(int, Theme)方法而不是getDrawable(int) ,因为它允许您获取与给定screen density/theme的特定resource ID关联的drawable对象。 调用deprecated getDrawable(int)方法相当于调用getDrawable(int, null) 。 
您应该使用支持库中的以下代码:
 ContextCompat.getDrawable(context, android.R.drawable.ic_dialog_email) 
使用这种方法相当于调用:
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { return resources.getDrawable(id, context.getTheme()); } else { return resources.getDrawable(id); } 
从API 21开始,您也可以使用:
  ResourcesCompat.getDrawable(getResources(), R.drawable.name, null); 
 而不是ContextCompat.getDrawable(context, android.R.drawable.ic_dialog_email) 
最好的办法是
  button.setBackgroundResource(android.R.drawable.ic_delete); 
或者这个可绘制的左边和类似的东西等等
 int imgResource = R.drawable.left_img; button.setCompoundDrawablesWithIntrinsicBounds(imgResource, 0, 0, 0); 
和
  getResources().getDrawable()现在已被弃用