2015-06-02 22 views
15

Cercando di utilizzare la nuova libreria di supporto alla progettazione nel mio progetto, AAPT getta il seguente errore:errore usando la libreria di supporto alla progettazione Android: attr backgroundTint non trovato

Description: Error: No resource found that matches the given name: attr 'backgroundTint'. 
Resource: /design/res/values/styles.xml 
Location: line 21 

Questa è la voce interessata in styles.xml:

<style name="Widget.Design.FloatingActionButton" parent="android:Widget"> 
    <item name="android:background">@drawable/fab_background</item> 
    <item name="backgroundTint">?attr/colorAccent</item> 
    <item name="fabSize">normal</item> 
    <item name="elevation">@dimen/fab_elevation</item> 
    <item name="pressedTranslationZ">@dimen/fab_translation_z_pressed</item> 
    <item name="rippleColor">?attr/colorControlHighlight</item> 
    <item name="borderWidth">@dimen/fab_border_width</item> 
</style> 

ho scelto come target il mio progetto per utilizzare SDK 21, con il set SDK min a 17.

Edit: I HA tutti gli strumenti SDK aggiornati.

+0

Avete questo aggiornato libreria di supporto Android, Android di sostegno Repository, Google Play Services, Google Repository ??? – Jorgesys

+0

@Elenasys Sì, li ho tutti installati e aggiornati. – igece

risposta

16

ho potuto risolvere il problema Problema con la soluzione @igece, ma in seguito ho scoperto che il vero problema è un obsoleto appcompat-v7 library.

Dopo l'aggiornamento all'ultima versione non è stato necessario modificare alcun elemento nelle librerie di Google.

32

Aggiungere la libreria appcompat-v7 come dipendenza al progetto della libreria di progettazione. Risolve lo stesso errore per me. Penso che ti aiuti.

+0

Hai integrato la libreria di progettazione in uno qualsiasi dei tuoi progetti di eclissi. È necessario selezionare anche la casella di controllo 'Is Library'. Per me, questa opzione è stata deselezionata quando ho importato la libreria di supporto di progettazione – HarshalK

+0

Sì, ho integrato la libreria di progettazione nella mia eclissi e anche per me è deselezionata. come progetto di libreria selezionando la casella di controllo – Kamalanathan

+0

@HarshalK, ho già aggiunto il riferimento appcompat-v7 e contrassegnato il progetto importato come una libreria.Il problema è un'altra cosa: – igece

3

sembra risolto aggiungendo l'attributo format ad entrambi backgroundTint e backgroundTintMode articoli in /res/values/attrs.xml:

Prima:

<declare-styleable name="FloatingActionButton"> 
    <!-- Background for the FloatingActionButton --> 
    <attr name="android:background"/> 
    <attr name="backgroundTint"/> 
    <attr name="backgroundTintMode"/> 

Dopo:

<declare-styleable name="FloatingActionButton"> 
    <!-- Background for the FloatingActionButton --> 
    <attr name="android:background"/> 
    <attr name="backgroundTint" format="color"/> 
    <attr name="backgroundTintMode" format="integer"/> 
+0

Ora il problema è che non riesco a fare alcun riferimento alle classi della libreria di supporto del design. Costruisci la configurazione dei percorsi nel mio progetto per assicurarti che ci sia un riferimento alla libreria di supporto – igece

+0

Si prega di controllare la mia risposta per risolvere il tuo problema! – thiagolr

0

L'aggiunta della libreria appcompat-v7 in base al progetto della libreria di progettazione è la soluzione a questo problema se è già stato installato il repository di supporto Android aggiornato e i servizi di Google Play.

0

Desidero aggiungere questo come commento nella terza risposta, ma il codice non è stato formattato correttamente. Devo aggiungere entrambe le dipendenze di seguito per risolvere il problema:

compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support:design:25.3.1'