Ich versuche, eine Bildansicht auf einem anderen Bildansicht zu platzieren wie folgt:Skala Image basierend auf Eigenschaften eines anderen Image
Dies ist das Layout ich dies zu erreichen, verwenden:
<?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>
Das macht die Aufgabe, das Logo auf dem Bild zu platzieren, aber der Haken hier ist, dass ich auch das Logo skalieren sollte (die Originalgröße ist ungefähr das gleiche wie das Bild) basierend auf den Eigenschaften des Bildes. Genauer gesagt möchte ich das Logo auf ein Viertel der Breite des Bildes rendern, ein Seitenverhältnis von 1: 1 haben und 10% Auffüllung der Bildbreite hinzufügen.
Im Moment spiele ich nur mit den Werten von Layoutbreite, Layouthöhe, PaddingLeft und PaddingTop des Logos herum, bis ich das gewünschte Ergebnis bekomme. Gibt es eine Möglichkeit, die Eigenschaften des Logos basierend auf den Eigenschaften des Bildes dynamisch zu ändern?
Jede Hilfe wird sehr geschätzt.
Hey, vielen Dank für die Hilfe. Es funktioniert großartig. :) –
Ich bin froh, dass ich helfen könnte. – MohanadMohie
Ich stoße auf ein anderes Problem und ich frage mich, ob du mir helfen kannst. Die App: layout_marginTopPercent = "10dp" -Eigenschaft scheint nicht zu funktionieren, da das Logo immer oben auf dem Bild hängt, egal welchen Wert ich an diesen Parameter übergebe. Es ist vielleicht erwähnenswert, dass die XML-Datei ein Element in einer RecyclerView darstellt, das möglicherweise etwas damit zu tun hat, dass der Rand nicht funktioniert. Bearbeiten: Beachten Sie, dass app: layout_marginStartPercent = "10%" gut funktioniert, was es noch seltsamer macht, dass marginTopPercent nicht funktioniert. –