J'ai créé un bouton et je veux ajouter un effet d'ondulation à ce bouton !
J'ai créé un fichier XML de bg de bouton : (bg_btn.xml)
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient android:startColor="#FFFFFF" android:endColor="#00FF00" android:angle="270" />
<corners android:radius="3dp" />
<stroke android:width="5px" android:color="#000000" />
</shape>
Et voici mon fichier d'effet d'ondulation : (ripple_bg.xml)
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:color="#f816a463"
tools:targetApi="lollipop">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="#f816a463" />
</shape>
</item>
</ripple>
Et voici mon bouton auquel je veux ajouter un effet d'entraînement :
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_centerHorizontal="true"
android:layout_marginTop="173dp"
android:textColor="#fff"
android:background="@drawable/ripple_bg"
android:clickable="true" />
Mais après avoir ajouté l'effet d'ondulation, l'arrière-plan du bouton est transparent, et le bouton ne s'affiche que lorsqu'on le clique, comme ceci :
Avant de cliquer
Sur le clic
Mais j'ai besoin à la fois de la couleur de fond du bouton et de l'effet d'ondulation, J'ai trouvé une partie de ce code dans différents blogs de Stack Overflow, mais cela ne fonctionne toujours pas !
0 votes
S'il vous plaît, faites des captures d'écran beaucoup plus petites la prochaine fois (redimensionnez avant de télécharger)
0 votes
@user25, vous pouvez aussi simplement ajouter un
l
om
au lien de l'image. (voir mon édition)0 votes
Ceux qui ont voulu relayer sur
foreground
utilisez cette astuce pour assurer la rétrocompatibilité. stackoverflow.com/a/65213848/4694013