android中创建一个ImageView对象,并通过资源ID获得了图片,怎么在代码中再改变该图片大小以适应屏幕大小

ImageView img=new ImageView(this);
img.setImageResource(R.drawable.news_move_page_bg_pic);
现在我需要的是在代码中改变这个img大小,因为在android页面img是以游动的方式存在,并没固定一个ImageView布局去自动适应屏幕大小,只能在代码中修改大小。
求高手指点,新学android,求教

第1个回答  2013-02-24
先根据ID生成一个Bitmap,然后用Bitmap.createScaledBitmap来调整大小,然后再用ImageView.setImageDrawable来显示在ImageView中。
---------------------------------------------------------------------------
更多疑问解答,尽在@安卓互助平台 新浪微博追问

能具体一点吗?
ImageView img=new ImageView(this);
bitmap = BitmapFactory.decodeResource(getResource(), R.drawable.**);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, 160,65);
img.setImageDrawable(new BitmapDrawable(resizedBitmap));
然后我将这个img显示出来。
原大小为160*65,现在显示出来的效果却无论宽高都只有原来的2/3。
为什么呢?(图片为png)

追答

Bitmap.createScaledBitmap

追问

ImageView img=new ImageView(this);
bitmap = BitmapFactory.decodeResource(getResource(), R.drawable.**);
Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitmap , 160, 65, true);
img.setImageDrawable(new BitmapDrawable(resizedBitmap));
bottom_layout.addView(img);
我将它放到选项卡作为移动光标使用,但是一直都只有原大小的2/3.

追答

这个跟你XML中的ImageView的android:scaleType的设定有关系吧。你试试不同的类型看看。

本回答被提问者采纳