【发布时间】:2013-05-25 11:25:28
【问题描述】:
我有这个代码:
<ImageView
android:id="@+id/listitem_logo"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
和
imageview_logo.setImageBitmap(bit); // comes from assets
imageview_logo.setAdjustViewBounds(true);
imageview_logo.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageview_logo.setBackgroundColor(0x00000000);
imageview_logo.setPadding(0, 0, 0, 0);
imageview_logo.setVisibility(v.VISIBLE);
以这种方式加载图像时,似乎没有进行任何缩放。但是,如果我通过 setImageDrawable() r.res. 加载图像,ImageView 中的图像会被调整大小。但是,我需要使用 setImageBitmap(),因为我是通过 assets 文件夹加载图像的。
我在这里错过了一些设置吗?这将使Android调整和缩放位图,所以它使用ImageView的全宽?我想我可以自己在代码中做到这一点,但我想我想做的只是通过设置一些属性来支持。
【问题讨论】:
-
尝试使用
setImageDrawable() -
setImageDrawable 不接受位图。
-
使用 CENTER_CROP 作为 scaletype 和 WRAP_CONTENT 作为宽度
-
Drawable d = new BitmapDrawable(getResources(),bitmap);
-
然后将Drawable转换为位图
标签: android android-imageview android-image