Implementieren Sie die Welligkeitsdarstellung in Bildern auf Android
Schließen Sie die ImageView, auf die Sie den Ripple-Ausdruck anwenden möchten, mit FragmentLayout ein Geben Sie das Vordergrundattribut für FragmentLayout an, damit Sie beim Tippen auf FragmentLayout tippen können. Geben Sie den Bereich und die Farbe an, auf die der Welligkeitsausdruck mit dem Vordergrundattribut angewendet wird Das Vordergrundattribut bezieht sich auf XML, das separat erstellt wurde Durch Angabe des Vordergrundattributs wird FrameLayout zur obersten Ebene, sodass das Tap-Ereignis von FragmentLayout erfasst wird.
XML des Hauptbildschirms der App
activity_main.xml
<FrameLayout
android:id="@+id/image_view"
android:layout_width="150dp" //Punkt 1: Stellen Sie die Größe von FragmentLayout und ImageView gleich ein
android:layout_height="50dp"
android:padding="0dp" //Punkt 2: Das Auffüllen wird auf 0 dp gesetzt, damit sich der Welligkeitsbereich und ImageView genau überlappen.
android:foreground="@drawable/btn_ripple"> //Punkt 5: Vordergrund bezieht sich auf den Dateinamen einer anderen XML-Datei, die "Welligkeitsbereich" und "Farbe zum Zeitpunkt der Welligkeit" definiert.
<ImageView
android:id="@+id/image_view2"
android:scaleType="fitXY" //Punkt 3: Das Seitenverhältnis ist variabel, sodass FragmentLayout und ImageView gleich groß sind.
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_margin="0dp" //Punkt 4: Der Rand wird auf 0 dp gesetzt, damit sich der Welligkeitsbereich und ImageView genau überlappen.
android:src="@drawable/long_circle" />
</FrameLayout>
btn_ripple.xml
//Punkt 1: Der Dateiname sollte der sein, der durch das obige Vordergrundattribut angegeben wird.
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorRipple2"> //Punkt 2: Geben Sie die Farbe zum Zeitpunkt der Welligkeit an
<item
android:id="@android:id/mask" //Punkt 3: Dies ist immer eine "Maske". Auch wenn "id"/Auch wenn es einen Ort gibt, an dem "Maske" angegeben ist.
android:drawable="@drawable/long_circle" /> //Punkt 4: Geben Sie den Welligkeitsbereich an. (Beziehen Sie sich einfach auf die ImageView, die Sie kräuseln möchten
</ripple>
Recommended Posts