Cos'è "Android:" il prefisso significa nel modulo Android Framework-Res
-
27-10-2019 - |
Domanda
Copero questo codice dal file Styles.xml nel modulo Framework-Res
<style name="Theme"> <item name="colorForeground">@android:color/bright_foreground_dark</item> <item name="colorForegroundInverse">@android:color/bright_foreground_dark_inverse</item> <item name="colorBackground">@android:color/background_dark</item>
.
<style name="Theme.Black"> <item name="android:windowBackground">@android:color/black</item> <item name="android:colorBackground">@android:color/black</item> </style>
Come vedi, hanno tutti un nome di attributo che è il valore di Windowsbackground. Ma il formar ha un file android:
E quest'ultimo no. È davvero necessario scrivere a android:
Prefisso in Android Framework?
Soluzione
Ho trovato questa domanda interessante e ho provato a esplorare per trovare la risposta .. Questo è quello che ho trovato ..
da: http://developer.android.com/guide/topics/resources/style-resource.html
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="style_name"
parent="@[package:]style/style_to_inherit">
<item
name="[package:]style_property_name"
>style_value</item>
</style>
</resources>
Articolo: definisce una singola proprietà per lo stile. Deve essere figlio di un elemento. Attributi: Nome Attributo Resource. Necessario. Il nome della proprietà Stile da definire, con un prefisso del pacchetto, se necessario (ad esempio Android: TextColor).
da: http://developer.android.com/guide/topics/manifest/manifest-intro.html
Valori di risorse Alcuni attributi hanno valori che possono essere visualizzati agli utenti, ad esempio un'etichetta e un'icona per un'attività. I valori di questi attributi dovrebbero essere localizzati e quindi impostati da una risorsa o tema. I valori delle risorse sono espressi nel seguente formato,
@[package:]type:name
Laddove il nome del pacchetto può essere omesso se la risorsa si trova nello stesso pacchetto dell'applicazione, il tipo è un tipo di risorsa - come "stringa" o "dragabile" - e il nome è il nome che identifica la risorsa specifica. Ad esempio: i valori di un tema sono espressi in modo simile, ma con una iniziale "?" piuttosto che '@':
?[package:]type:name
E infine, ho provato a dare gli attributi senza Android:, e ha lanciato un'eccezione, anche se ha compilato con successo.
Altri suggerimenti
Accesso alle risorse della piattaforma
Android contiene una serie di risorse standard, come stili, temi e layout. Per accedere a queste risorse, qualifica il tuo riferimento alle risorse con il nome del pacchetto Android. Ad esempio, Android fornisce una risorsa di layout che è possibile utilizzare per elementi di elenco in a ListAdapter
:
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myarray));
In questo esempio, Simple_List_item_1 è una risorsa di layout definita dalla piattaforma per gli elementi in a ListView
. Puoi usarlo invece di creare il tuo layout per gli elementi dell'elenco. (Per ulteriori informazioni sull'uso ListView
, Vedi il tutorial di visualizzazione dell'elenco.)