Обмен изображения в ImageView
Я пытался реализовать простую (я думаю) вещь в моем приложении. Я думал, что это будет просто, но почему-то это не работает так, как я хотел бы.
То, что я пытаюсь сделать, это:
- В центре есть действие с ImageView - у него есть собственное изображение (ну, их два).
- Я хочу нажать на этот ImageView (или это может быть ImageButton), открыть галерею / сделать снимок с камеры.
- Затем, после съемки / съемки изображения, я хочу, чтобы ImageView отображал миниатюру изображения.
Мой макет
<ImageView
android:id="@+id/add_photo_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/add_photo_button" />
<ImageView
android:id="@+id/add_photo_right"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/add_photo_button" />
</LinearLayout>
Мой код - после получения пути к картинке
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inSampleSize = 8;
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/5.png",bmpFactoryOptions);
lastClicked.setImageBitmap(bitmap);
//lastClicked.setImageResource(R.drawable.green_circle);
Я хотел прочитать файл с измененным размером (используя inSampleSize) из sdcard, а затем заполнить им ImageView (или ImageButton). Но после использования функции setImageBitmap вид исчезает - как будто он загружает пустое изображение (закомментированная строка работает правильно - это просто зеленая точка).
Может, кто-то подошел к подобной проблеме? Я был бы очень признателен за любую помощь.
Привет, Scana
РЕДАКТИРОВАТЬ: ofc lastClicked:
lastClicked = (ImageView)findViewById(R.id.add_photo_left);
1 ответ
Почему бы тебе не попробовать lastClicked.invalidate()
?
Я делаю так в моем коде по крайней мере, и это работает таким образом;)