Der Ripple-Effekt auf shape drawable
Versuchen, etwas zu tun, wirklich einfach und sah einen Haufen der SO Mittel, aber ohne Erfolg. Ich werde versuchen, den ripple-Effekt auf eine Schaltfläche, die verwendet eine drawable
hintergrund der Art der shape drawable
. Die relevanten Dateien:
background_button:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1px"
android:color="#80ffffff" />
<solid android:color="@android:color/transparent" />
</shape>
ripple.xml innerhalb der drawable-v21
Ordner:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:drawable="@drawable/background_button"/>
</ripple>
Button.xml:
<Button
android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:background="@drawable/ripple"
/>
Was ist hier falsch.
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mein Rat wäre, nicht zu verwenden
<ripple
tag. Ich habe 2 Gründe: es ist nicht so einfach, genau das zu tun, was Sie wollen, und Sie haben 2 verschiedene.xml
Dateien für jeden Untergrund. Ich weiß nicht, wie zu habendrawable-v21
Ordner.Meine Lösung ist, um wickeln Sie Ihre
Button
mitFrameLayout
und verwendenandroid:foreground
Attribut. Auf diese Weise können Sie beliebige hintergrund Sie wollen, und Sie können mit dem ripple-Effekt.Beachten Sie, dass zog ich alle die Eigenschaften und die id zu
FrameLayout
. Sollten SieonClickListener
zuFrameLayout
statt derButton
.Btw
?attr/selectableItemBackground
ist groß. Verwenden Sie es, so viel wie möglich. Es ersetzt Blaue Holo-Farbe mit Grau für die alten Geräte von Android 4.0 auf 4.3.Versuchen.
ripple_effect.xml
button.xml
bauen.gradle
android:id="@android:id/mask"
ausitem
das funktioniert für mich
drawable/rect.xml
und für ripple
drawable/rip.xml
und für Ihre Schaltfläche
hoffe diese Hilfe !!!
Diese Arbeit für mich..
Der Punkt ist der Abschnitt
@drawable/button_green_background
für den hintergrund und für die Maske.Ich hatte das ähnliche Aufgabe. Lassen Sie mich erklären, wie ich das Problem lösen. Es gibt Kreis imageViews mit Schatten und ripple-Effekt, nicht geht über Kreis-Grenzen hinweg.
Den folgenden ripple-Effekt:
Den folgenden Kreis Bildansicht.
Den folgenden Schatten:
Einem anderen problem, können Sie wahrscheinlich das Gesicht ist der ripple-Effekt geht aus der Kreis-Grenzen hinweg. Um es zu lösen, verwenden Sie folgende Datei(ripple_effect.xml)
Wenn Sie nicht verwenden Sie die folgenden :
ripple-Effekt geht über die Kreis-Grenzen und dies nicht schön aussieht. Seien Sie vorsichtig und nimmt es einfach.
Einfachere Lösung - verwenden Sie diese drawable-xml als Wert der Eigenschaft "android:background" der Schaltfläche:
drawable/bkg_ripple.xml:
button.xml:
Dies wird helfen,
Mehr Siehe diese
Schnelle Lösung