간단한 슬라이드 쇼 프로그램을 작성하려고합니다. 크기가 다른 사진을 표시 한 다음 크기를 조정하여 화면을 채우고 싶습니다. 이미지 뷰의 크기를 변경할 수 있으며 디버거에서 새 너비로 설정되었지만 비트 맵의 배율을 조정하지 않습니다. 은이 작업을 수행하는 방법입니다 ?????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) {
}
:
이그냥 비트 맵 크기를 조정하려면 다음 코드를 사용 // 유래 .com/questions/6410364/how-to-scale- 비트 맵 크기 조정을위한 비트 맵 - 화면 크기. – DigitalGhost
picImage의 레이아웃 매개 변수에 문제가있는 것 같습니다. XML 코드를 보여줄 수 있습니까? 사용 가능한 공간 만 채우는 것에 관한 것이라면, FILL_XY를 사용하여 이미지 뷰의'setScaleType' (http://developer.android.com/reference/android/widget/ImageView.html#setScaleType(android.widget.ImageView.ScaleType)을 설정하는 것을 고려해보십시오. 또는 MATRIX (더 많은 제어를 위해).이 경우 RAW 이미지 속성을 처리 할 필요가 없습니다. – xandy