我正在尝试为设置的VectorDrawable
设置占位符图像/资源(本例中为ImageView
资源)的正确方法,并在目标图像位图可用时进行设置。
我在指南中看到了两种方法。我可以使用XML上的background
属性设置背景,也可以使用setBackground()
以编程方式设置背景。然后,我将使用setImageDrawable()
设置目标图像。
第二种方法是将setImageDrawable()
用作占位符,然后再将setImageDrawable()
用作目标图像。
两种方法都可以,但是使用第一种方法时,我注意到一些UI滞后。我不确定这是否是该方法引起的。
所以,我想知道。使用占位符的正确方法是什么?为什么?
谢谢。
答案 0 :(得分:1)
第二种方法始终是完成此任务的最佳方法。 但是,如果您想采用第一种方法,那么正确的使用方法就是这样
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
setBackgroundDrawable();
} else {
setBackground();
}
答案 1 :(得分:1)
在ImageView中加载图像时,更改src值意味着不更改背景。 更改背景对于android来说很昂贵,当我们想加载很多图像(如ListView,RecyclerView等)时,情况会变得更糟。 为获得更好的性能,应更改图片src,而不更改图片背景。
要更改图像src,您可以使用
image.setImageResource()
或
image.setImageDrawable()
更改适合单个图像的背景
此外,所有图像加载器都支持占位符(如果使用的是相同的占位符),则无需手动设置。