Java 占位符的setImageDrawable与setBackground
我试图找到正确的方法,为设置的Java 占位符的setImageDrawable与setBackground,java,android,Java,Android,我试图找到正确的方法,为设置的ImageView设置占位符图像/资源(VectorDrawableresource),目标图像位图可用时 我在指南中看到了两种方法。我可以使用XML上的background属性设置背景,也可以使用setBackground()以编程方式设置背景。然后,我将使用setImageDrawable()设置目标图像 第二种方法是对占位符使用setImageDrawable(),然后对目标图像再次使用setImageDrawable() 这两种方法都有效,但我注意到在使用第
ImageView
设置占位符图像/资源(VectorDrawable
resource),目标图像位图可用时
我在指南中看到了两种方法。我可以使用XML上的background
属性设置背景,也可以使用setBackground()
以编程方式设置背景。然后,我将使用setImageDrawable()
设置目标图像
第二种方法是对占位符使用setImageDrawable()
,然后对目标图像再次使用setImageDrawable()
这两种方法都有效,但我注意到在使用第一种方法时出现了一些UI滞后。我不确定这是否是由这种做法造成的
所以,我想知道。使用占位符的正确方法是什么?为什么
谢谢。第二种方法始终是完成此任务的最佳方法。 但是,如果你想使用第一种方法,那么正确的使用方法是这样的
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
setBackgroundDrawable();
} else {
setBackground();
}
intsdk=android.os.Build.VERSION.sdk\u int;
if(sdk
当ImageView中的load image更改了src值时,表示不更改背景。
更改背景对于android来说是昂贵的,当我们想要加载大量图像(如ListView、RecyclerView等)时,情况会变得更糟。
为了有更好的性能,应该改变图像src,而不是改变图像背景
对于更改图像src,您可以使用
image.setImageResource()
或
更改适合单个图像的背景
此外,如果使用相同的占位符,则所有图像加载器都支持占位符,不需要手动设置。您应该使用第二种方法谢谢您的回复,GOVIND DIXIT。你能解释一下为什么它是最好的方法吗?setBackground已经被弃用了,它需要API 16。这可能对你有帮助
image.setImageDrawable()