Ho scritto alcune app per Android ma non capisco quando utilizzare app:
e quando utilizzare android:
. Quando gli stili non vengono applicati nel modo previsto, utilizzo tentativi ed errori e talvolta scopro che l'utilizzo di app:
anziché android:
risolve il problema ma non capisco perché. Sarebbe bello se qualcuno potesse indicarmi la giusta direzione. Grazie!Layout Android - quando utilizzare l'app: vs Android :?
risposta
Stai parlando di namespace personalizzato. In Android possiamo creare visualizzazioni personalizzate in aggiunta alle viste già disponibili. Come da documenti dello sviluppatore di Google. Per aggiungere una vista incorporata all'interfaccia utente, specificarla in un elemento XML e controllarne l'aspetto e il comportamento con gli attributi dell'elemento. Anche le visualizzazioni personalizzate ben scritte possono essere aggiunte e modificate tramite XML. Per abilitare questo comportamento in visualizzazione personalizzata, è necessario:
Definire gli attributi personalizzati per la visualizzazione in un elemento di risorsa Specificare i valori per gli attributi nel layout XML recuperare i valori degli attributi in fase di esecuzione Applicare i valori degli attributi recuperati al tuo view
Una volta definiti gli attributi personalizzati, è possibile utilizzarli nei file XML di layout come gli attributi incorporati. L'unica differenza è che i tuoi attributi personalizzati appartengono a uno spazio dei nomi diverso. Invece di appartenenza alla http://schemas.android.com/apk/res/android namespace, appartengono a nome http://schemas.android.com/apk/res/[your pacchetto]
Così, per se si utilizza visualizzazioni predefinite che è possibile utilizzare namespace Android e se si desidera impostare e utilizzare gli attributi per visualizzazione personalizzata è possibile definire il proprio nome.
consultare this
Se si dà un'occhiata agli inizi degli tuoi file xml di layout (in cui è stato utilizzato app:
) si (probabilmente) trovare linee come questo:
<?xml version="1.0" encoding="utf-8"?>
<SOME_LAYOUT xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
in questo caso verrà utilizzato app:
namespace per attributi personalizzati, specificati dall'utente nel file attrs.xml
o da qualcun altro in una delle librerie utilizzate.
inoltre troverete due varianti
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/[packagename]"
la differenza tra le linee xmlns è res-auto prendersi cura di risolvere il nostro pacchetto come qualche volta l'aggiungeremo .debug o .test nel nostro pacchetto e abbiamo già fornito il pacchetto della app Es:
xmlns:app="http://schemas.android.com/apk/com.test.io.debug"
xmlns:app="http://schemas.android.com/apk/com.test.io.test"
Mi sono appena iscritto a StackOverflow anche se lo sto utilizzando attivamente per un lungo tempo, quindi mi scuso se la mia risposta è in ritardo.
È possibile utilizzare lo spazio dei nomi dell'app per ottenere la compatibilità delle app con versioni API precedenti.
Per esempio app: srcCompat = "@ drawable/customborder" ha gli stessi effetti con Android: background = "@ drawable/customborder" la differenza è che il primo sarà funzionare correttamente con vecchie API e il secondo testamento non visualizzare ciò che desideri.
- 1. Layout Android S3 vs layout Galaxy Nexus
- 2. Android: quando utilizzare Service vs Singleton?
- 3. Quando utilizzare Android PopupWindow vs Dialog
- 4. Quando utilizzare le cartelle res/x vsres/layout in Android
- 5. android complex onDraw() metodo vs layout personalizzato
- 6. Layout dinamico vs XML in Android?
- 7. Quando Android esegue prima il layout?
- 8. Layout nidificati Android
- 9. android: quando utilizzare onStart(), onStop()?
- 10. Layout attività: classe frammento: vs android: attributi nome
- 11. Vs. Layout griglia. Tabella Layout
- 12. Android: Layout spinner personalizzato
- 13. Lingua layout tastiera Android
- 14. Layout orizzontale Android
- 15. Android - strings.xml vs statico costanti
- 16. Layout scheda Android setContent
- 17. layout Android Destra Allinea
- 18. Allineamento layout tabella Android
- 19. Layout Animazione Android [Facebook]
- 20. Layout sfondo Android alpha
- 21. Progettazione layout Android
- 22. Android Layout peso programmaticamente
- 23. Layout larghezza percentuale Android
- 24. Android vs android-sdk-mac_86
- 25. Android - Attività vs Visualizzazioni
- 26. In Android, posso utilizzare l'immagine dalle risorse nel layout xml?
- 27. Android: Theme.Holo.Light.NoActionBar vs Theme.Light.NoTitleBar
- 28. Menu Android Oggetto Layout personalizzato
- 29. Android quando utilizzare ContentResolver applyBatch o BulkInsert
- 30. Android: quando è opportuno utilizzare FragmentTransaction.remove?
quando si utilizzano attributi personalizzati ... si applica anche agli atributtes dalle librerie di supporto ...anche app non è precisa in quanto è semplicemente scorciatoia namespace e cosa significa dipende dalla definizione (fx: se metti 'xmlns: and =" http://schemas.android.com/apk/res/android "' verrai in grado di usare 'e:' invece 'android:') – Selvin
Leggi informazioni sugli spazi dei nomi XML. – Simon