Ich versuche, eine Bibliothek zu schreiben, die als JAR-Datei freigegeben werden kann. Diese Bibliothek enthält eine Aktivität und ich möchte das Layout in die JAR aufnehmen. Da es anscheinend nicht möglich ist, Ressourcendateien in ein JAR zu integrieren, und ich möchte nicht, dass die Endbenutzer diese Dateien selbst einbeziehen müssen, dachte ich, es wäre ein netter Hack, das XML als String aufzunehmen und dann manuell aufzublasen es. Weiß jemand, ob das möglich ist? Irgendwelche anderen Ideen?Einschließlich Android-Aktivitäten (und ihre Layouts) in JAR-Dateien
5
A
Antwort
3
Native Layout-XML-Dateien werden in eine binäre Form konvertiert und enthalten zur Build-Zeit gebackene Ressourcen-IDs.
Da jedoch alle GUI-Elemente zur Laufzeit instanziiert werden können, könnten Sie wahrscheinlich Ihren eigenen Inflater mit einem XML-Parser und ein wenig Reflektion rollen.
In Ihrem Fall kann es einfacher sein, die Aktivitätsansicht nur programmatisch zu erstellen.
Verwandte Themen
- 1. Android: Anpassen der App an kleine Bildschirme mit Layouts einschließlich anderer Layouts
- 2. Android-Layouts innerhalb von Layouts, wobei separate Klassen ihre Eingaben verarbeiten?
- 3. OpenGL und Layouts
- 4. Tapisserie Layouts und Komponentenbibliotheken
- 5. Bildschirmgröße und inhaltsabhängige Layouts
- 6. Dynamisches Ändern von Layouts als statische Layouts
- 7. Layouts innerhalb Layouts in Kivy mit Python
- 8. Android-Layouts kollidieren mit Layouts
- 9. Mehrere Layouts mit Lenker und ExpressJS?
- 10. html layouts vs css layouts
- 11. Android-Layouts und ein Glas
- 12. Verschiedene subview Layouts in viewDidLoad und viewWillAppear
- 13. MVC-Designs, Layouts und CSS
- 14. Wo finde ich eine Liste aller UK _full_ Postleitzahlen einschließlich Straßenname und ihre genauen Koordinaten?
- 15. Mehrere Layouts in ror
- 16. Gesamte URL abrufen, einschließlich Abfragezeichenfolge und Anker
- 17. Zwei Layouts in Fragment
- 18. Verschachtelte "Layouts" in Spark?
- 19. Heatmap in R einschließlich Alaska und Hawaii
- 20. einschließlich Header-Dateien in C und kompilieren
- 21. CMake und einschließlich anderer Makefiles
- 22. PHP-Klassen und einschließlich Dateien
- 23. Hogan.js Layouts
- 24. Wörterbuch aller Wörter und ihre Häufigkeit in der englischen Sprache
- 25. Implementieren anderer Layouts und Ansichten auf Google Map in Android
- 26. Ansichten/Layouts wechseln
- 27. Einschließlich Javascript mit content_for in Rails
- 28. Neue APK-Version und falsche Layouts
- 29. Linearlayout mit weightSum und drei Layouts
- 30. Werden Ihre Javadocs in Ihre Klassendateien kompiliert?
Basierend auf meiner Forschung seit dem Stellen der Fragen, das ist die Schlussfolgerung, zu der ich auch kam (die Ansichten programmatisch aufbauend). Ich hoffe immer noch auf eine bessere Lösung;) –
Es gibt zwei Ebenen von "bessere Lösung". Im Moment stecken Sie entweder fest oder versenden die Layoutdatei, die der Wiederverwender kopieren muss, oder Sie müssen Ressourcen ganz vermeiden. Ich arbeite an einem wiederverwendbaren Komponenten-Verpackungssystem, das dabei helfen wird, aber es ist momentan ein oder zwei Monate vor der Veröffentlichung. – CommonsWare
Es wäre schön, wenn es etwas gäbe, das das XML-Layout in Java-Quelle "kompilieren" würde. –