Ondulations sur une forme avec un fond transparent

J'utilise la forme suivante dans mon application

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape android:shape="oval" > <solid android:color="@color/primary_light"/> <size android:height="80dp" android:width="80dp"/> </shape> </item> <item android:state_focused="true"> <shape android:shape="oval"> <stroke android:color="@color/primary_light" android:width="5dp"/> <size android:height="80dp" android:width="80dp"/> </shape> </item> <item> <shape android:shape="oval"> <solid android:color="@android:color/transparent"/> <size android:height="80dp" android:width="80dp"/> </shape> </item> </selector> 

Il est là dans mon dossier dessiné. Maintenant, je met à jour mon application sur Lollipop et j'aimerais donner une rétroaction sur le bouton circulaire que j'ai utilisé. Donc, dans le dossier drawable-v21 , je l'ai changé en sélecteur d'ondulation:

  • Erreur lors de l'ajout de CardView à la mise en page
  • Démarrer un service d'activité
  • Police personnalisée dans Android rend différemment les différentes API
  • Est-il possible d'avoir un MultipartEntities imbriqué ou FormBodyPart dans un POST multipart?
  • API de données Youtube avec OAuth2.0 sur Android
  • Comment ouvrir Gmail Composer lorsqu'un bouton est cliqué sur une application Android?
  •  <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/primary_light"> <item> <selector> <item android:state_focused="true"> <shape android:shape="oval"> <stroke android:color="@color/primary_light" android:width="5dp"/> <size android:height="80dp" android:width="80dp"/> </shape> </item> <item android:id="@android:id/mask"> <shape android:shape="oval"> <solid android:color="@android:color/transparent"/> <size android:height="80dp" android:width="80dp"/> </shape> </item> </selector> </item> </ripple> 

    Mais malheureusement, l'effet d'ondulation n'est pas généré par l'utilisation de ce qui précède dans Lollipop. Est-ce à cause de <solid android:color="@android:color/transparent"/> ?

    Quelqu'un peut-il me montrer où j'ai mal tourné? Merci

  • Marqueurs clairs de Google Map dans Android
  • Forcer le mode d'orientation "portrait"
  • Test roo-électrique ListView non actualisé après changement de valeur dans l'adaptateur
  • Android: ListView vertical avec des lignes superposées
  • En occultant avec ProGuard, -keepattributes SourceFile, LineNumberTable rend l'apk résultant plus facile à faire de l'ingénierie inverse?
  • Comment éviter d'apparaître automatiquement le clavier Android lorsque l'activité commence
  • 2 Solutions collect form web for “Ondulations sur une forme avec un fond transparent”

    Après quelques essais et des erreurs, il semble que j'ai mal compris la hiérarchie du selector et de l' item .

    Ce qui suit fonctionne parfaitement.

     <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/primary_light"> <item android:id="@android:id/mask"> <shape android:shape="oval"> <solid android:color="@android:color/white"/> <size android:height="80dp" android:width="80dp"/> </shape> </item> </ripple> 

    Cela fonctionne avec un fond transparent:

     <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight" android:exitFadeDuration="@android:integer/config_shortAnimTime"> <!-- Use this to define the shape of the ripple effect (rectangle, oval, ring or line). The color specified here isn't used anyway --> <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <corners android:radius="3dp"/> <!-- This color is needed to be set - doesn't affect anything --> <solid android:color="@android:color/white"/> </shape> </item> <!-- This is the background for your button --> <item> <!-- Use the shape you want here --> <shape android:shape="rectangle"> <!-- Use the solid tag to define the background color you want --> <solid android:color="@android:color/transparent"/> </shape> </item> </ripple> 

    Cela a été modifié un peu de cette réponse: ondulation transparente

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.