类的setBackgroundDrawable()
方法View
现在在 android SDK API 级别 16 中已弃用。
新方法setBackground()
当然只在 API 16 中可用。
如果我希望我的应用程序与以前的 API 级别兼容,我该如何解决它?(至少 API 14)
目标是消除任何警告,@SupressWarnings 对我来说不是解决方案。
类的setBackgroundDrawable()
方法View
现在在 android SDK API 级别 16 中已弃用。
新方法setBackground()
当然只在 API 16 中可用。
如果我希望我的应用程序与以前的 API 级别兼容,我该如何解决它?(至少 API 14)
目标是消除任何警告,@SupressWarnings 对我来说不是解决方案。
通常的方法是这样的:
if (android.os.Build.VERSION.SDK_INT >= 16)
setBackground(...);
else
setBackgroundDrawable(...);
另一方面,您可以使用反射:
try {
Method setBackground = View.class.getMethod("setBackground", Drawable.class);
setBackground.invoke(myView, myDrawable);
} catch (NoSuchMethodException e) {
setBackgroundDrawable(myDrawable);
}
IMO 发出警告比必须捕获异常和不必要的反思要好。
您可以使用
viewobj.setBackgroundResource(drawble_object);
将位图设置为 ImageView。
ImageView imageView = (ImageView) findViewById(R.id.imageSlice4); imageSlice4.setBackground(new BitmapDrawable(getResources(), slicedImagesArrayList.get(3)));