Créez un dessin personnalisé et utilisez-le en XML

Je suis occupé à créer une version moins compliquée de NinePatchDrawable que les carreaux des panneaux intérieurs au lieu de les étirer.

Je peux implémenter la logique réelle pour faire le rendu et tel.

  • Méthodes WebView sur la même erreur de thread
  • Impossible d'enregistrer un appel à l'aide de MediaRecorder
  • Snackbar et d'autres animations ont cessé de fonctionner sur certains appareils Android
  • Android: java.util.concurrent.ThreadPoolExecutor
  • Extension de AsyncTask <Void, Void, Void>
  • Le sélecteur ne fonctionne pas avec la mise en page et la vue d'image
  • Cependant, je ne trouve pas de documentation sur l'utilisation de ce Drawable dans les fichiers XML. Est-ce possible? C'est-à-dire, puis-je avoir un <tileable-nine-patch> , ou une telle étiquette que je peux utiliser pour définir des ressources?

  • Écoutez et répondez à ANR?
  • Android changez la version SDK dans Eclipse? Impossible de résoudre la cible Android-x
  • Quelles sont les «mises à jour en attente» dans Google Developer Console?
  • Création de OnDragListener pour Google Map v2 Fragment
  • Android exploite les classes dalvik: Préférences
  • Fermer l'application Android par programmation
  • 2 Solutions collect form web for “Créez un dessin personnalisé et utilisez-le en XML”

    Malheureusement, il n'est pas possible d'utiliser des modèles personnalisables dans des fichiers XML (pour API 23 et moins) en raison de problèmes de sécurité potentiels. Consultez ici un groupe de Google Groupes sur ce sujet même avec une réponse de Romain Guy, l'un des développeurs Android.

    Vous pouvez toujours les utiliser dans votre code Java.

    Mettre à jour:

    Comme le souligne LeoFarage dans les commentaires, à partir de l'API 24, vous pouvez maintenant utiliser des modèles personnalisables dans les fichiers XML, mais uniquement dans votre package de demande.

    À partir de l'API Android 24, les classes Drawables personnalisées peuvent être utilisées en XML uniquement dans votre package.

    Les classes drawables personnalisées peuvent être utilisées en XML de plusieurs façons:

    Utilisation du nom de classe entièrement qualifié en tant que nom d'élément XML. Pour cette méthode, la classe desséchable personnalisée doit être une classe publique de premier niveau.

     <com.yourapp.MyCustomDrawable xmlns:android="http://schemas.android.com/apk/res/android" android:color="#ffff0000"/> 

    En utilisant le nom d'élément XML comme modèle et en spécifiant le nom de classe entièrement qualifié à partir de l'attribut de classe. Cette méthode peut être utilisée tant pour les classes publiques de premier niveau que pour les classes internes statiques publiques.

     <drawable xmlns:android="http://schemas.android.com/apk/res/android" class="com.myapp.MyTopLevelClass$InnerCustomDrawable" android:color="#ffff0000" /> 

    Remarque: cela n'est pas pris en charge par la bibliothèque de support.

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