我只是尝试从URL下载图像并将其转换为Drawable并将其设置为TextView的DrawableLeft,但是对于那些我使用
加载的图像可绘制对象的 mBitmapHeight 和 mBitmapWidth 属性会自动设置为图像原始宽度和高度的2倍左右( 我在mdpi,hdpi和xhdpi文件夹中有3个不同比例的相同图像,而对于我从URL下载的图像,我为下载的图像指定了位图对象的密度:
getResources().getDrawable(context, R.drawable.blahblahblah)
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
bitmap.setDensity(metrics.densityDpi);
并创建了一个BitmapDrawable
BitmapDrawable d = new BitmapDrawable(context.getResources(), bitmap);
但是这两个属性被设置为一个等于图像原始高度和宽度的值,这使得当我使用内在高度和宽度设置其边界时,drawable非常小。
我不知道系统如何为从res文件夹加载并从URL下载的图像设置不同的高度和重量。如果有人能就此分享一些想法,我将非常感激。谢谢!
更新
我设置了这样的可绘制边界:
if (icon != null) {
int lh = icon.getIntrinsicHeight();
int lw = icon.getIntrinsicWidth();
icon.setBounds(0, 0, lw, lh);
}
“icon”是Drawable。然后我将此图标设置为
textView.setCompoundDrawables(icon, null, rightIcon, null);