Ich versuche, Font Awesome in meiner Anwendung zu verwenden. Ich konnte die Schriftart mithilfe von integrieren Typeface.createFromAsset()
, aber ich möchte auch die von dieser Schriftart bereitgestellten Symbole verwenden, aber bisher war dies nicht möglich.
Diese bestimmte Schriftart enthält Symbole im Unicode Private Use Area (PUA), z. B. für Media Player-Steuerelemente, Dateisystemzugriff, Pfeile usw.
Hat jemand Schriftarten verwendet, die Symbole und Symbole auf Android enthalten? Ist dies überhaupt möglich?
android
font-awesome
Julian Suarez
quelle
quelle
Antworten:
Font Awesome scheint in meiner Android-App gut für mich zu funktionieren. Ich habe folgendes gemacht:
fontawesome-webfont.ttf
in meinen assests OrdnerErstellt für jedes Symbol einen Eintrag in der Datei strings.xml. ZB für ein Herz:
In der Ansicht meines XML-Layouts wurde auf diesen Eintrag verwiesen:
Laden Sie die Schriftart in meine onCreate-Methode und legen Sie sie für die entsprechenden Ansichten fest:
quelle
Hashtable
Verwenden Sie stattdessen so etwas wie die Wiederverwendung Ihrer Symbolschriftstrings.xml
wie<string name="faicon"></string>
folgt deklariere und dann Text in meinen Code setze, ist dies in Ordnung. Aber wenn ich es versuchemTextView.setText("");
, zeige ich nur den Rohtext. Könnte jemand helfen? thksProbieren Sie IcoMoon aus: http://icomoon.io
Angenommen, Sie haben das Wiedergabesymbol ausgewählt, ihm den Buchstaben "P" zugewiesen und die Datei
icomoon.ttf
in Ihren Asset-Ordner heruntergeladen . So zeigen Sie das Symbol:xml:
Java:
Ich habe einen Vortrag über das Erstellen schöner Android-Apps gehalten, der Erklärungen zur Verwendung von Symbolschriftarten sowie das Hinzufügen von Verläufen enthält, um die Symbole noch schöner zu machen: http://www.sqisland.com/talks/beautiful-android
Die Erklärung der Symbolschrift beginnt auf Folie 34: http://www.sqisland.com/talks/beautiful-android/#34
quelle
Vielleicht zu spät, aber ich hatte das gleiche Bedürfnis, also habe ich diese https://github.com/liltof/font-awsome-for-android veröffentlicht. Es ist eine android-fähige XML-Version der Schrift, die fantastisch verwendet werden kann, genau wie Keith Corwin sagte
Hoffe, es wird anderen helfen.
quelle
Wie oben ist ein gutes Beispiel und funktioniert gut:
ABER! > Dies funktioniert, wenn Sie eine Zeichenfolge innerhalb der Schaltfläche aus XML festlegen:
Wenn Sie es dynamisch hinzufügen müssen, können Sie Folgendes verwenden:
quelle
Wenn Sie programmatic setText möchten, ohne string.xml einen String hinzuzufügen
Siehe den hexadezimalen Code hier:
http://fortawesome.github.io/Font-Awesome/cheatsheet/
Ersetzen Sie & # xf066; bis 0xf066
quelle
Es gibt eine kleine und nützliche Bibliothek, die für diese Zwecke entwickelt wurde :
Holen Sie sich eine Demo bei Google Play .
Sie können Ihrem Layout ganz einfach ein auf Schriftarten basierendes Symbol hinzufügen:
Sie können das Schriftart-Symbol wie
Drawable
aus XML aufblasen :Java-Code:
Links:
quelle
0.1.9
Ich habe diese Hilfsklasse in C # (Xamarin) erstellt, um die Texteigenschaft programmgesteuert festzulegen. Es funktioniert ziemlich gut für mich:
Sollte einfach genug sein, um nach Java zu konvertieren, denke ich. Hoffe es hilft jemandem!
quelle
Eine der Bibliotheken, die ich für Font Awesome verwende, ist folgende:
https://github.com/Bearded-Hen/Android-Bootstrap
Speziell,
https://github.com/Bearded-Hen/Android-Bootstrap/wiki/Font-Awesome-Text
Die Dokumentation ist leicht zu verstehen.
Fügen Sie zunächst die erforderlichen Abhängigkeiten in build.gradle hinzu:
Zweitens können Sie dies in Ihr XML einfügen:
Stellen Sie jedoch sicher, dass Sie dies in Ihrem Root-Layout hinzufügen, wenn Sie das obige Codebeispiel verwenden möchten:
quelle
In der FontView-Bibliothek können Sie normale / Unicode-Schriftzeichen als Symbole / Grafiken in Ihrer App verwenden. Es kann die Schriftart über Assets oder einen Netzwerkspeicherort laden.
Der Vorteil dieser Bibliothek ist, dass:
https://github.com/shellum/fontView
Beispiel:
Layout:
Java:
quelle
Es gibt eine weitere nette Lösung, die Sie direkt in Ihren Layout-XML-Dateien verwenden können und die Sie nicht verwenden müssen
setTypeface
.Es ist Joan Zapatas Iconify . Hier können Sie lesen , was in Iconify v2 neu ist . Es enthält 9 verschiedene Schriftartenbibliotheken, die Sie einfach verwenden können, indem Sie Ihrer build.gradle- Datei Abhängigkeiten hinzufügen .
In den Layout-XML-Dateien können Sie zwischen folgenden Widgets wählen:
quelle
Erstellen Sie zunächst einen Asset-Ordner und kopieren Sie das Fontawesome-Symbol (.ttf). Wie erstelle ich einen Asset-Ordner?
nächster Schritt herunterladen Wie lade ich eine .ttf-Datei herunter? Klicken Sie hier -> und klicken Sie nach dem Download auf den Download-Button und öffnen Sie die Web-Schriftarten. Wählen Sie schließlich True Asset Style (ttf) und fügen Sie den Asset-Ordner ein.
Wie entwerfe ich XML- und Java-Dateien in Android?
In diesem Beispiel für eine Schriftart mehr Unicode klicken Sie hier
Activity_main.xml
MainActivity.java
Ausgabe:
Ausgabebild
quelle
Ich bin etwas spät zur Party, aber ich habe eine benutzerdefinierte Ansicht geschrieben, mit der Sie dies tun können. Standardmäßig ist sie auf entypo eingestellt. Sie können sie jedoch so ändern, dass sie eine beliebige Symbolschrift verwendet: Überprüfen Sie sie hier: github.com/MarsVard/IconView
// Die Bibliothek bearbeiten ist alt und wird nicht mehr unterstützt ... neue hier https://github.com/MarsVard/IonIconView
quelle
Falls Sie nur wenige großartige Symbole für Schriftarten benötigen, können Sie auch http://fa2png.io verwenden , um normale Pixelbilder zu generieren. Wenn Sie jedoch regelmäßig neue Symbole / Schaltflächen hinzufügen, würde ich die .ttf-Version als flexibler empfehlen.
quelle
Wenn sich jemand fragt, wie man es programmgesteuert hinzufügt, muss man es so machen.
quelle
Da alle Antworten großartig sind, ich aber keine Bibliothek verwenden wollte und jede Lösung mit nur einem einzeiligen Java-Code meine
Activities
undFragments
sehr chaotisch machte. Also habe ich dieTextView
Klasse wie folgt überschrieben:Was Sie tun sollten, ist die Schriftartdatei
ttf
in denassets
Ordner zu kopieren. Und verwenden Sie diesen Spickzettel, um die einzelnen Symbolzeichenfolgen zu finden.hoffe das hilft.
quelle