【发布时间】:2012-08-28 00:08:33
【问题描述】:
我正在尝试编写一个简单的幻灯片放映程序。我希望它显示不同尺寸的图片,然后缩放,这样宽度就会填满屏幕。我可以更改图像视图的大小,在调试器中它被设置为新的宽度,但它不会缩放位图, 他们有办法做到这一点吗??????
代码:
ImageView picImage = (ImageView) findViewById(0);// R.id.viewpic);
try {
String FileName = "canon20.png";
AssetManager assetManager = getAssets();
InputStream inputStream;
inputStream = assetManager.open(FileName);
Bitmap icon = BitmapFactory.decodeStream(inputStream);
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
int screenHeight = getWindowManager().getDefaultDisplay().getHeight();
int bw = icon.getWidth();
float t = (float) screenWidth / (float) bw;
picImage.setImageBitmap(icon);
picImage.getLayoutParams().width = screenWidth;
picImage.getLayoutParams().height = (int) (icon.getHeight() * t);
} catch (IOException e) {
}
【问题讨论】:
-
查看stackoverflow.com/questions/6410364/… 了解缩放位图。
-
看起来像是 picImage 的布局参数的问题。你能显示XML代码吗?如果您只关心填充可用空间,请考虑使用 FILL_XY 或 MATRIX 设置图像视图的
setScaleType(developer.android.com/reference/android/widget/…(以获得更多控制)。在这种情况下,您实际上不需要处理 RAW 图像属性。
标签: android