Ответ 1
Вам нужно использовать метод setImageResource().
imageButton.setImageResource(R.drawable.eng2);
Как установить
ImageButton
собственностью
Приложение: srcCompat = "@вытяжка/рис"
программно?
Что-то вроде myImageButton.setBackgroundResource(R.drawable.eng2);
но свойство app:srcCompat
Вам нужно использовать метод setImageResource().
imageButton.setImageResource(R.drawable.eng2);
Сначала убедитесь, что вы имеете дело с AppCompatImageView
, а не "normal" ImageView
:
AppCompatImageView iv = (AppCompatImageView)findViewById(....);
то вы можете использовать
iv.setImageResource(R.drawable.pic);
См. другие общедоступные методы в документах.
Я думаю, что другие методы устарели и не будут работать во время написания этого,
iv_yourImageView.setImageDrawable(getResources().getDrawable(R.drawable.your_drawable));
Это будет работать
Использование setImageResource()
должно извлекать его ресурс обратно совместимым образом без каких-либо дополнительных усилий.
Однако, если вы используете setImageDrawable()
, ImageView/ImageButton не поможет с любым обратным сжатием, и вы можете предоставить рисованный с обратным сжатием, который важен, например, для. если использовать VectorDrawables
. Следующее будет загружать и устанавливать рисование таким образом:
val drawable = AppCompatResources.getDrawable(context, resourceId)
image.setImageDrawable(drawable)