2015-01-25 17 views
5

Ho una domanda su "android: showAsAction". Ho un libro per Android e in quel libro (IMO non è aggiornata, ma la maggior parte delle cose sono valide) usanoAndroid: showAsAction è deprecato?

android:showAsAction 

Per visualizzare la voce di menu sulla barra di azione (si crea menu frammento). Sto usando Android Studio. La versione di compilazione dell'SDK è impostata su API 19 (KitKat). Sto sparando sul mio LG G2, che ha Android 4.4 a bordo.

sto chiedendo se questo è deprecato, perché Android Studio mi dice:

 Should use app:showAsAction with the appcompat library with xmlns:app="http://schemas.android.com/apk/res-auto" less... (Ctrl+F1) 
    When using the appcompat library, menu resources should refer to the showAsAction in the app: namespace, not the android: namespace. 
    Similarly, when not using the appcompat library, you should be using the android:showAsAction attribute. 

Presumo che appcompat biblioteca è la libreria di supporto. Comunque non lo sto usando affatto, perché non ho bisogno di compatibilità con le versioni precedenti.

Inoltre, quando passerò all'app: showAsAction e aggiungerò app corretta: xmlns, quindi il mio elemento di azione nella mia barra delle azioni non è visibile. Quando torno a Android: showAsAction, l'icona è visibile.

Mi chiedo cosa c'è di sbagliato nel mio codice, dovrei usare app: showAsAction o dovrei usare android: showAsAction?

Vi ringrazio

risposta

9

Non è deprecato basta usare app: invece di android: quando si lavora con il ActionBar dalla libreria di supporto. Il significato di tutte queste opzioni è lo stesso. Non possono semplicemente usare android: dall'interno della Libreria di supporto perché è una libreria autonoma. Non si può realmente usare android: se si sta lavorando con la barra di azione del supporto.

+0

Ok ho capito adesso. Ho ancora una domanda: è preferibile usare app:? Perché ancora, Android Studio android: showAsAction suggerisce che si tratta di un errore? –