Gewusst wie: überschreiben (oder ausblenden) style-Attribute definiert, die in der Android-library-Projekt?
Habe ich eine Reihe von ähnlichen Anwendungen. Ich extrahierten gemeinsamen Ressourcen und code, um das Bibliothek-Projekt, und Anwendungen nur überschreiben, was Sie brauchen. In meiner Bibliothek gibt es die folgenden definierten Stil:
<style name="ListItemText">
<item name="android:layout_toRightOf">@id/preview_image</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">@dimen/previewTextSize</item>
</style>
Wie Sie sehen können enthält es android:layout_toRightOf
- Attribut, wie in diesem Stil angewendet werden, um den text in der ListView-Zeile angezeigt werden sollen, rechts neben dem Bild in die Zeile.
Aber in einer meiner Anwendungen, die ich möchte, um die Anzeige der text unter dem Bild. Wie die ListItemText
Stil in der Anwendung definiert werden, überschreiben android:layout_toRightOf
- Attribut-Wert, und ersetzen Sie es mit android:layout_below
?
Wenn ich es definieren als:
<style name="ListItemText">
<item name="android:layout_below">@id/preview_image</item>
</style>
zeigt es text rechts und unter dem Bild, effektiv fasst Attribute aus beiden-Bibliothek und die Anwendung von Stilen XMLs.
p.s.: Eine mögliche Lösung für mein Problem wäre, um loszuwerden android:layout_toRightOf
im Stile und verschieben Sie es in den layout-xml statt. Dann in der Ziel-Applikation das layout neu definiert/überschrieben. Aber ich bin auf der Suche nach Stil-basierte Lösung, denn es konnte mehr als eine einfache Art und Weise von Attribut überschreiben.
(Ich kann auch mit der geerbte Stil mit der parent
Attribut, aber das würde wieder erfordern, layout überschreiben in der Anwendung, die ich versuche zu vermeiden).
- Ich mache etwas ähnliches HIER!!! stackoverflow.com/questions/17103894/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Deaktivieren
android:layout_toRightOf
haben, können Sie es zu@null
. Wenn Ihre app definiert dieListItemText
Stil wie folgt, sollte es so funktionieren, wie Sie wollen:@null
Referenz angegeben, die irgendwo in der Dokumentation?Könnten Sie "Eltern" zum ableiten einer spezialisierten Stil (siehe http://developer.android.com/guide/topics/ui/themes.html), aber die Definition des layouts, wie das mit den Stilen nicht schlagen mich, wie der Weg zu schnitzen, dieses problem bis. Es ist ok, einige layout-Informationen in der layout-Dateien.
ListItemText
Stil. Ich könnte Stil neu definieren in der Anwendung natürlich (siehe mein p.s.), würde aber gerne wissen, ob die style-basierten Lösung möglich ist.