Frage

Ich kopiere den Code aus der Datei styles.xml im Framework-RES-Modul

<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>

Wie Sie sehen, haben sie alle einen Attributnamen, der einen Fensterbackground ist. Aber das Formar hat eine android: Und letzteres nicht. Ist es wirklich notwendig, a zu schreiben? android: Präfix im Android -Framework?

War es hilfreich?

Lösung

Fand dies eine interessante Frage und versuchte es zu erkunden, um die Antwort zu finden. Das habe ich gefunden.

aus: 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>

Artikel - definiert eine einzelne Eigenschaft für den Stil. Muss ein Kind eines Elements sein. Attribute: Namensattributressource. Erforderlich. Der Name der zu definierten Style -Eigenschaft mit einem Paketpräfix (z. B. Android: textColor).

aus: http://developer.android.com/guide/topics/manifest/manifest-intro.html

Ressourcenwerte Einige Attribute haben Werte, die Benutzern angezeigt werden können - zum Beispiel ein Etikett und ein Symbol für eine Aktivität. Die Werte dieser Attribute sollten lokalisiert und daher aus einer Ressource oder einem Thema festgelegt werden. Ressourcenwerte werden im folgenden Format ausgedrückt.

@[package:]type:name

Wenn der Paketname weggelassen werden kann, wenn sich die Ressource im selben Paket wie die Anwendung befindet, ist Typ eine Art Ressource - z. B. "String" oder "Drawable" - und der Name ist der Name, der die spezifische Ressource identifiziert. Zum Beispiel: Werte aus einem Thema werden auf ähnliche Weise ausgedrückt, aber mit einer Initial '?' statt '@':

?[package:]type:name

Und schließlich habe ich versucht, die Attribute ohne Android zu geben: und es warf eine Ausnahme, obwohl sie erfolgreich zusammengestellt wurde.

Andere Tipps

Zugriff auf Plattformressourcen

Android enthält eine Reihe von Standardressourcen wie Stile, Themen und Layouts. Um auf diese Ressource zuzugreifen, qualifizieren Sie Ihre Ressourcenreferenz mit dem Android -Paketnamen. Zum Beispiel bietet Android eine Layout -Ressource, die Sie für Listenelemente in a verwenden können ListAdapter:

setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myarray));

In diesem Beispiel ist Simple_List_item_1 eine Layout -Ressource, die von der Plattform für Elemente in a definiert wurde ListView. Sie können dies verwenden, anstatt Ihr eigenes Layout für Listenelemente zu erstellen. (Für mehr über die Verwendung ListView, siehe das Tutorial für Listenansicht.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top