我正在嘗試編寫簡單的幻燈片放映程序。我希望它顯示不同大小的圖片,然後縮放,因此寬度會填滿屏幕。我可以改變圖像視圖的大小,並在調試器中設置爲新的寬度,但它不會縮放位圖, 是這樣做的一種方式嗎?Android:嘗試縮放ImageView,因此圖像填充寬度並縮放到高度
代碼:
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) {
}
請訪問http://計算器.com/questions/6410364 /如何縮放位圖到屏幕大小來縮放位圖。 – DigitalGhost
它看起來像picImage的佈局參數的問題。你能顯示XML代碼嗎?如果您只涉及填充可用空間,請考慮使用FILL_XY設置圖像視圖的'setScaleType'(http://developer.android.com/reference/android/widget/ImageView.html#setScaleType(android.widget.ImageView.ScaleType)或MATRIX(用於更多的控制)在這種情況下,你並不需要處理RAW圖像屬性 – xandy