如何使用setBackgroundDrawable

时间:2015-08-05 14:06:10

标签: android imageview

我正在使用Android中的图像视图来处理从API 12到22的设备。我们知道,有两种调用setBackground的方法不同,无论我们使用的是API 16+还是较低的API。 我这样做是因为大多数教程和其他Stack Overflow问题都有引导,但我仍然在图像视图中获得黑色而不是图像。我还应该做些什么才能让它发挥作用?

Bitmap bitmap;
int sdk = android.os.Build.VERSION.SDK_INT;

bitmap = BitmapDecoder.decodeBitmapFromResource(context.getResources(),
                    R.drawable.sample_photo, 200, 500);

    if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
        setBackgroundV16Minus(holder.locationImage, bitmap);
    } else {
        setBackgroundV16Plus(holder.locationImage,bitmap);
    }

更新

@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private void setBackgroundV16Plus(View view, Bitmap bitmap) {
    view.setBackground(new BitmapDrawable(context.getResources(),bitmap));
}

@SuppressWarnings("deprecation")
private void setBackgroundV16Minus(View view, Bitmap bitmap) {
    view.setBackgroundDrawable(new BitmapDrawable(bitmap));
}

1 个答案:

答案 0 :(得分:1)

类似的 if (android.os.Build.VERSION.SDK_INT >= 16) .setBackground(...); else .setBackgroundDrawable(...); 方法现已在Android SDK API级别16

中弃用

试试这个逻辑

<?php userphoto_the_author_thumbnail() ?>
相关问题