Я пытаюсь поместить ImageView поверх другого ImageView следующим образом:Шкала ImageView на основе свойств другого ImageView
Это макет я использую для достижения этой цели:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp">
<ImageView
android:id="@+id/list_item_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:layout_gravity="center" />
<ImageView
android:id="@+id/list_item_logo"
android:layout_width="40dp"
android:layout_height="40dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:layout_gravity="top|start" />
</FrameLayout>
Это делает размещение логотипа поверх изображения, но здесь уловка заключается в том, что я должен также масштабировать логотип (размер оригинала примерно такой же, как у изображения), основываясь на свойствах изображения. В частности, я хочу отображать логотип на четверть ширины изображения, иметь соотношение сторон 1: 1 и добавлять 10% заполнения ширины изображений.
На данный момент я просто играю со значениями layoutwidth, layoutheight, paddingLeft и paddingTop логотипа, пока не получу желаемый результат. Есть ли способ динамически изменять свойства логотипа на основе свойств изображения?
Любая помощь очень ценится.
Эй, большое спасибо за помощь. Он отлично работает. :) –
Рад, что я могу помочь. – MohanadMohie
Я столкнулся с другой проблемой, и мне было интересно, можете ли вы мне помочь. Свойство app: layout_marginTopPercent = "10dp" похоже не работает, поскольку логотип всегда застревает в верхней части изображения, независимо от того, какое значение я передаю в этот параметр. Возможно, стоит отметить, что xml представляет элемент в RecyclerView, это может иметь какое-то отношение к тому, что маржа не работает. Изменить: обратите внимание, что приложение: layout_marginStartPercent = «10%» работает просто отлично, что делает его еще более странным, что marginTopPercent не работает. –