1
votes

Existe-t-il un moyen de cibler certaines API dans un fichier drawable.xml?

J'ai créé un dessin personnalisé en utilisant ripple, qui ne cible que l'api 21 et au-dessus, je sais qu'il est possible de le faire par programme, mais y a-t-il un moyen de le faire dans le dessinable lui-même?

J'ai également essayé de créer un dossier séparé pour les API supérieures, ce qui, selon moi, pouvait être fait avec des mises en page, mais aucune chance, quoi que ce soit n'est apriqué.


2 commentaires

le faire dans le dessinable lui-même? Je n'ai pas tout à fait compris. si vous ne souhaitez créer qu'un seul dessinable, créez un Selector dessinable. Sinon, expliquez votre problème.


@ADM c'est vraiment génial je ne sais pas comment je n'ai pas pensé à ça


3 Réponses :


0
votes

Il semble que vous ayez déjà essayé, mais cela devrait fonctionner. Créez un drawable-v21 dans votre dossier res. Cela devrait cibler l'API 21 et les versions ultérieures (ou si vous avez un autre dossier de dessin API plus élevé, c'est-à-dire drawable-v24, votre 21 ciblera de 21 à 23). Placez vos dessinables pour ce niveau dans ce nouveau répertoire


4 commentaires

oui, j'ai essayé de créer un nouveau dossier mais cela ne permet pas «-» ce qui est frustrant car c'était une solution possible que j'avais mais je n'ai pas eu la chance d'essayer.


Essayez de créer le répertoire dans la fenêtre de votre explorateur


Je l'ai fait fonctionner Je créais un fichier de ressources et non un répertoire, je suis nouveau sur Android Studio avant d'utiliser AIDE pendant quelques années avant cette semaine, merci pour l'aide


Pas de soucis. Erreur facile à faire. Si la réponse a aidé, ce serait formidable si vous pouviez la marquer comme réponse acceptée :)



1
votes

Vous pouvez créer plusieurs ressources pour différentes versions d ' API et laisser Android choisir l'une d'entre elles en fonction de la version API de l'appareil. Créez un nouveau fichier drawable.xml mais choisissez API version 21 comme qualificatif et insérez votre code dessus. Créez un autre drawable.xml sans qualificatif de version et mettez un autre code qui fonctionne sur la version antérieure à 21.


1 commentaires

Je t'en prie. Veuillez considérer ce sujet stackoverflow.com/help/someone-answers et n'oubliez pas de voter



0
votes

Vous pouvez utiliser qc comme ceci:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)

et ensuite montrer votre dessinable.


1 commentaires

oui c'était l'une de mes options, mais je voulais voir si je pouvais le faire uniquement dans le fichier drawable.xml lui-même