Dobré dopoledne,
mám takový problém s načtením obrázku z SD karty, který si potom chci zobrazit v ImageView. Display je pouze ve vertikálním módu. A pokud ho chci zobrazit, tak aby se zobrazil musím mu upravit velikost. Šlo by ho vložit do nějakého slideru, abych nemusel měnit velikost? Popř. jak se to řeší jinak. Předem děkuji za odpovědi. Přídám zdrojové kódy:
final BitmapFactory.Options options = new BitmapFactory.Options();
// options.inSampleSize = 2;
// options.inPurgeable = true; //Tell to gc that whether it needs free memory, the Bitmap can be cleared
// options.inInputShareable = true; //Which kind of reference will be used to recover the Bitmap data after being clear, when it will be used in the future
final Uri imageUri = imageReturnedIntent.getData();
final InputStream imageStream = getContentResolver().openInputStream(imageUri);
Bitmap selectedImage = BitmapFactory.decodeStream(imageStream, null, options);
Display d = getWindowManager().getDefaultDisplay();
Point size = new Point();
d.getSize(size);
int h = size.x; // height in pixels
int w = size.y; // width in pixels
Bitmap scaled;
if (selectedImage.getWidth() < selectedImage.getHeight()) {
scaled = Bitmap.createScaledBitmap(selectedImage, h, w, true);
} else {
scaled = Bitmap.createScaledBitmap(selectedImage, w, h, true);
}
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<ImageView
android:id="@+id/show_pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>