Was sind die Unterschiede zwischen R.styleable, R.style und R.attr? Ich habe TextAppearance in all diesen drei Klassen gefunden.Was sind die Unterschiede zwischen R.styleable, R.style und R.attr?
Antwort
R.style
hat alle Stile Android (einschließlich aller Theme Android zur Verfügung gestellt). Z. B. Theme.Translucent
, Widget.AbsListView
.
R.attr
hat alle attrs android zur Verfügung gestellt (das könnte eingestellt werden, um anzuzeigen oder Fenster). Zum Beispiel kann layout_width
eingestellt werden, um anzuzeigen, windowIsFloating
kann auf Fenster eingestellt werden.
R.styleable
hat alle Vorteile einer bestimmten Ansicht oder eines Fensters, die Android zur Verfügung gestellt UND kann in einem Stil definiert werden. Beispiel: FrameLayout_Layout_layout_gravity
: layout_gravity kann für FrameLayout entworfen werden, Window_windowIsFloating
: Flag, das angibt, ob es sich um ein schwebendes Fenster handelt.
Um Ihre Frage zu beantworten, ist TextAppearance ein Attribut (R.attr) und es ist styleable erklärt, attrs.xml:
<attr name="textAppearance" format="reference" />
<declare-styleable name="TextViewAppearance">
<!-- Base text color, typeface, size, and style. -->
<attr name="textAppearance" />
</declare-styleable>
TextAppearance ist auch ein Thema/Style (Theme ist nur ein Stil), styles.xml:
<style name="TextAppearance">
<item name="android:textColor">?textColorPrimary</item>
<item name="android:textColorHighlight">?textColorHighlight</item>
<item name="android:textColorHint">?textColorHint</item>
<item name="android:textColorLink">?textColorLink</item>
<item name="android:textSize">16sp</item>
<item name="android:textStyle">normal</item>
</style>
Nur für den Fall, dass Sie nicht verstehen, was das "?" bedeutet, überprüfen: Question mark (?) in XML attributes for Android Und für den Fall, dass Sie durch was deklarieren styleable verwirrt sind, überprüfen Sie: Difference between declare-styleable and style
Können Sie dann sagen, welche Attribute wir verwenden können, wenn Sie einen TextAppearance-Stil erstellen/erben? '
R.style wird für Designdefinitionen verwendet (konfigurieren Sie standardmäßige oder spezifische Stylesätze für Elemente, die in Ihren Layouts wiederverwendet werden sollen).
R.styleable enthält einzelne Attr. R.attr wird verwendet, um Attribute für benutzerdefinierte Ansichten zu definieren. Angenommen, Sie erstellen Ihre eigene benutzerdefinierte Ansicht mit der Bezeichnung CardView. Sie nimmt 2 Strings auf und erstellt dann ihr Layout basierend auf der Größe dieser Strings. Sie können diese als Attribute festlegen, die in Ihren XML-Layouts über R.attr (more info/better explanation here) zugewiesen werden.
Es ist falsch. R.attr wird verwendet, um einzelne attrs zu definieren, während R.stylable verwendet wird, um Attribute für benutzerdefinierte Ansichten zu definieren. – szcoder
Aus der verknüpften Dokumentation: 'Um benutzerdefinierte Attribute zu definieren, fügen Sie Ihrem Projekt
- 1. Was sind die Unterschiede zwischen zweien?
- 2. Was sind die Unterschiede zwischen Karma Reportern?
- 3. Was sind die Unterschiede zwischen & und &&, | und || in R?
- 4. Was sind die Unterschiede zwischen PECL und PEAR?
- 5. Was sind die Unterschiede zwischen Active Record und Repository-Muster?
- 6. Graph - Was sind die Unterschiede zwischen eingebetteten und topologischen Graphen?
- 7. Was sind die Unterschiede zwischen C und C++ Aufrufkonventionen?
- 8. Was sind die Unterschiede zwischen Vanille Perl und Strawberry Perl?
- 9. Was sind die Unterschiede zwischen LDAP und Active Directory?
- 10. Was sind die Unterschiede zwischen WCF und traditionellen ASP.NET Web
- 11. Was sind die Unterschiede zwischen Gleitern und Programmierern?
- 12. Was sind die Unterschiede zwischen to.equal (true) und to.be.true?
- 13. Was sind die Unterschiede zwischen WebAPI und WebAPI 2
- 14. Was sind die Unterschiede zwischen HasOne und Referenzen in Nhibernate?
- 15. Was sind die Unterschiede zwischen .pem, .cer und .der?
- 16. Was sind die größten Unterschiede zwischen fopen und curl?
- 17. Was sind die Unterschiede zwischen LLVM und Java-Bytecode?
- 18. Was sind die praktischen Unterschiede zwischen Fliegengewicht und Singleton-Mustern?
- 19. Was sind die Unterschiede zwischen flex mxml und actionscript-3?
- 20. Was sind die Unterschiede zwischen ADOdb und PDO in PHP?
- 21. Was sind die Unterschiede zwischen WebServiceBinding.EmitConformanceClaims und WebServiceBinding.ConformanceClaims?
- 22. Was sind die Unterschiede in JIT zwischen Java und. NET
- 23. Was sind die Unterschiede zwischen Pause und Ausfahrt?
- 24. Was sind die Unterschiede zwischen struct_time und datetime?
- 25. Was sind die Unterschiede zwischen Layern und erweiterbaren Effekten?
- 26. Was sind die Unterschiede zwischen ConcurrentQueue und BlockingCollection in .Net?
- 27. Was sind die Unterschiede zwischen Entweder und Option?
- 28. Was sind die Unterschiede zwischen Opera Unite und Node.js?
- 29. Was sind die Unterschiede zwischen rbenv, rvm und chruby?
- 30. Was sind die Unterschiede zwischen lexikalischen und statischen Scoping?
Wo haben Sie diese gefunden? –
Schaust du dir die Klasse android.R an? Das ist sicherlich eine gute Frage. Ich bin von den Android-API-Dokumenten enttäuscht. Dies ist nur ein anderes von mehreren Beispielen, wo ich sehe, dass den Dokumenten wichtige Details fehlen, die für Entwickler hilfreich wären. –