2014-12-09 12 views
6

Sto cercando di seguire un tutorial che supponiamo per mostrare come aggiungere un pulsante di galleggiamento e nel tutorial si dice per aggiungere l'attributo android:elevation al xml pulsanti come questo:Unknown attributo android: elevazione

<ImageButton 
    android:layout_width="30dp" 
    android:layout_height="30dp" 
    android:id="@+id/editButton" 
    android:layout_gravity="center|right" 
    android:clickable="false" 
    android:background="@drawable/edit_grey" 
    android:layout_marginRight="1dp" 
    android:elevation="@dimen/elevation_low"/> 

ma non riconosce quell'attributo ... credo che abbia qualcosa a che fare con il mio obiettivo o sdk del progetto ... qualcuno può aiutarmi?

+0

Quale livello API stai utilizzando? Se si utilizza un valore inferiore a 21, modificarlo in 21 –

+0

aggiungere strumenti: targetApi = "lollipop" se non si desidera questo avviso – Killer

risposta

13

Per utilizzare android:elevation, come per qualsiasi altra API di Android 5.0, è necessario compilare Android 5.0 (API 21). Ciò non significa che devi modificare il tuo livello di SDK di destinazione o il livello minimo di SDK.

Nota: il file XML può ancora dare un avviso che android:elevation funziona solo su Android 5.0 o versioni successive. Questo avviso serve solo a dirti che le versioni precedenti di Android non avranno un'ombra di elevazione sul pulsante di azione mobile. Tuttavia, ciò non causa un errore: le versioni precedenti di Android ignorano gli attributi XML che non comprendono.

1

L'attributo Elevation è piuttosto nuovo. Definisce il sollevamento della vista a cui è applicato. Viene utilizzato per il Material Design nelle versioni Android più recenti.

Material Design

Si può usare il livello di API 21, immagino che il vostro livello mirato è inferiore a questo.

Se si desidera solo per ottenere un po 'di shadowing è possibile utilizzare questo:

Shadow Drawables for Views

In alternativa è possibile utilizzare il SupportLibrary con CardViews o qualcosa di simile, sostengono elevazione da API Livello 7:

[How-to] Use the v21 Support Libs on Older Versions & Target L While Remaining Backwards-Compatible

Spero che questo aiuti.

Problemi correlati