如何获取可绘制对象的ID并将其赋予函数?

时间:2018-07-31 10:13:19

标签: java android kotlin

我有一个想要放大1920x1080背景图像的滚动视图。如果我是通过xml静态添加的,则我的应用会滞后于动画和总体响应速度。 I checked StackOverflow,这是可以预料的,因为图像在内存中未压缩。

现在,在上面链接的同一线程中,建议的答案是使用setBackground函数,该函数使用BitmapFactory动态调整大小并设置图像,如下所示:

this.myService.getStuff (stuff => {
  const finalStuff = stuff.map (
     ({ a = 'x' , b = 'y', ...rest }) => ({ ...rest, a, b })
  ) 
})

但是,可以看出,该图像需要可绘制对象的ID,但我一直无法获取。我检查了类似的问题,发现矛盾的答案,有人说不可能获得可绘制的ID,而其他人则提出了一些与ImageView相关的方法,这些方法与我的问题无关(使scrollview膨胀)。因此,有人可以在Java / Kotlin中命名一个允许我获取可绘制图像ID的方法吗?如果那不可能,您能否建议其他解决方法?

1 个答案:

答案 0 :(得分:0)

您是否尝试过:

val resID = resources.getIdentifier("drawable_name", "drawable", packageName)