如何以编程方式将图像设置为 ImageButton 背景

问题描述

我正在使用 Kotlin 为 Android 应用编写代码。我需要为 ImageButton 背景添加图像。我尝试了 ImageButton.setBackgroudResource 和 ImageButton.setimageResource 方法,但它不会改变。

我的代码在这里

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        setContentView(R.layout.activity_main)
        var imageButton1 = binding.imageButton1
        imageButton1.setBackgroundResource(R.drawable.myImage)
}}

imageButton1.setBackgroundResource(R.drawable.myImage) 不会将 myImage.png 设置为 imageButton1。

解决方法

使用 setImageDrawable 并从如下资源中获取可绘制对象

imageButton1.setImageDrawable(resources.getDrawable(R.drawable.myImage));

imageButton1.setImageDrawable(ContextCompat.getDrawable(context,R.drawable.myImage));

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...