web-dev-qa-db-fra.com

L'élément doit être déclaré en erreur pour la forme de la balise

J'utilise Android Studio I/O (Preview) 0.3.2

J'utilise cet exemple pour définir le dégradé d'arrière-plan dans mon application. Je reçois élément doit être déclaré erreur. enter image description here

J'ai vérifié et je ne trouve aucune solution. Quelqu'un peut-il m'aider, comment puis-je déclarer cette balise dans le fichier XML?

58
Simon Mokhele

Ce problème est dû à mon fichier XML. Mon fichier XML de dégradé se trouvait dans le dossier values, j'ai résolu ce problème en déplaçant le fichier de dégradé dans le dossier drawable

107
Simon Mokhele

Vous pouvez juste faire un clic droit

res

et frapper

Nouveau

, créer un

Fichier de ressources Android

et choisissez

Type de ressource

être

Drawable

, et change quel que soit le défaut

élément racine

à

forme

Oui, c'est un peu buggué dans Android Studio pour créer un nouveau fichier XML autre que la mise en page et les valeurs lol.

j'espère que ça peut t'aider!!

19
rObOtAndChalie

J'ai eu le même problème avec Android Studio, j'ai créé un répertoire "anim" sous "res" puis copié le fichier xml dans celui-ci puis l'erreur a disparu.

15
Abakasha Panda

Vous devez utiliser le sélecteur à l'intérieur des balises <set/> Comme ça;

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
        <item Android:state_enabled="true" Android:state_pressed="true">
            <objectAnimator
                Android:duration="@Android:integer/config_shortAnimTime"
                Android:propertyName="translationZ"
                Android:valueTo="15dp"
                Android:valueType="floatType" />
        </item>
        <item>
            <objectAnimator
                Android:duration="@Android:integer/config_shortAnimTime"
                Android:propertyName="translationZ"
                Android:valueTo="5dp"
                Android:valueType="floatType" />
        </item>
    </selector>
</set>
10
DiRiNoiD

Avait un problème similaire avec la balise de sélecteur utilisé pour créer un animateur de liste d'état.

Mon animation était dans le dossier de ressources anim. J'ai dû le déplacer dans le dossier de l'animateur.

6
Jon

En regardant cet exemple, je pense que si vous ajoutez le xmlns:Android attribut (à l'intérieur de la balise shape, comme dans l'exemple que vous suivez), cela fonctionnera:

xmlns:Android="http://schemas.Android.com/apk/res/Android"

Je soupçonne que shape y est déclaré.

1
jcw