我在XML中有简单的ImageView:
<ImageView
android:id="@+id/imgItemFavorites"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/foo"
android:src="@drawable/vote_favorite" />
现在,如果我在代码中引用该视图并执行:
ImageView img = (ImageView) llGenericList.findViewById(R.id.imgItemFavorites);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.vote_favorite, null);
img.setImageBitmap(bitmap);
由于加载的图像较小,我的ImageView最终会变小。我认为这与自动缩放有关,因为Nexus 7的tvdpi已经完成了,但是有人能让我知道如何以一种不会搞砸其他设备的东西的方式解决这个问题吗?
答案 0 :(得分:1)
创建可以将自身扩展为“原生”分辨率的图像时,有几件事要做。
首先假设您有一个200x100像素的PNG文件。将此作为“基线”。
用android创建你的imageview:layout_width =“200dp”和android:layout_height =“100dp”。
然后,您需要为每个“类别”设备提供4个版本的位图,并在您提供的资源中缩放位图:
Android会在缩放时使用您资源中正确的png大小。重要的是指定布局中的基线大小。