#android #image #imageview #uri #scaling
Вопрос:
В своем приложении я импортирую и отображаю множество изображений. Чтобы установить uri img, который я использую Img.setImageUri(R.mipmap.myimage)
, но в результате изображение обрабатывается определенным устройством способом, например, на моем телефоне у меня есть квадратные значки приложений, а макет выглядит так
таким образом, он имеет квадратную форму, а на эмуляторе с круглыми значками он выглядит так
так что это в форме круга
Что я хочу, так это изменить размер изображений, чтобы они соответствовали изображениям
, Изображения хранятся в базе данных в виде uri, поэтому мне нужно получить результат на основе этого.
мой xml для этого
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
android:layout_height="120dp"
android:id="@ id/foodlay"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:cardElevation="10dp"
app:cardCornerRadius="20dp"
android:layout_width="120dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:id="@ id/imago"
android:background="@null"
/>
</androidx.cardview.widget.CardView>
В коде я просто использую Img.setImageUri(cursor.getString(6))
адаптер
Ответ №1:
я предлагаю вам использовать ShapeableImageView вместо этого, однако, если вы хотите использовать свое решение, замените это
android:scaleType="centerCrop"
недвижимость вместо центра