如何设置ImageButton
属性
app:srcCompat="@drawable/pic"
以编程方式?
有点像,myImageButton.setBackgroundResource(R.drawable.eng2);
但属性app:srcCompat
。
如何设置ImageButton
属性
app:srcCompat="@drawable/pic"
以编程方式?
有点像,myImageButton.setBackgroundResource(R.drawable.eng2);
但属性app:srcCompat
。
Answers:
您需要使用setImageResource()方法。
imageButton.setImageResource(R.drawable.eng2);
首先,请确保您正在处理AppCompatImageView
,不是常规的 ImageView
:
AppCompatImageView iv = (AppCompatImageView)findViewById(....);
然后您可以执行以下操作:
iv.setImageResource(R.drawable.pic);
请参阅docs中的其他公共方法。
AppCompatImageButton
代替ImageButton
。
使用setImageResource()
应该以向后兼容的方式获取其资源,而无需任何进一步的努力。
但是,如果您使用setImageDrawable()
,则ImageView / ImageButton不会帮助您实现任何向后兼容,并且您需要提供一个向后兼容的drawable,这对于例如至关重要。如果使用VectorDrawables
。下面将以这种方式加载和设置一个drawable:
val drawable = AppCompatResources.getDrawable(context, resourceId)
image.setImageDrawable(drawable)