Plattformspezifische Symbole in Ionic einstellen

7

Okay, das könnte entweder eine wirklich einfache Frage sein, und ich werde mich verlegen fühlen, aber ich habe gerade begonnen, Ionic zu benutzen, und ich spiele nur mit der Detaillierung der Benutzeroberfläche mit Icons herum.

Meine Frage ist, ob Sie die Icons in einem Element setzen können und sie je nach der Plattform, für die Sie bauen, anders rendern können?

Zum Beispiel hatte ich einen Menüpunkt wie diesen

%Vor%

In Ionicons gibt es ein Symbol% ​​co_de% für beide Android ( ion-locked ) und iOS ( ion-android-locked ) und ich frage mich, ob es eine Möglichkeit gibt, Symbole während des Buildprozesses auf ihre Plattform zu setzen? / p>

Es kann einfach sein, dass ich am Ende separate Zweige in git habe, aber ich würde lieber nicht, wenn es eine einfache Möglichkeit gibt, dies zu implementieren?

    
Matthew Merryfull 17.11.2014, 21:59
quelle

7 Antworten

5

Da Ionic Framework auf Apache Cordova basiert, können Sie das Plug-in Apache Cordova Device verwenden, das standardmäßig mit neuen Projekten ausgeliefert wird:

Ссылка

Sie können dann Folgendes tun:

%Vor%

Dann können Sie in Ihrem HTML-Code auf den Controller verweisen und das Symbol basierend auf der Plattform anzeigen:

%Vor%

Beachten Sie ng-if . Abhängig davon, was die $ scope.devicePlatform ist, wird entschieden, welche der Tags angezeigt werden.

Grüße,

    
Nic Raboy 17.11.2014, 23:48
quelle
15

Sie könnten Ihre scss-Datei anpassen.

Schauen Sie sich die Plattform-Assets an, index.html hat eine Klasse

class="plattform-android plattform-cordova plattform-webansicht"

%Vor%     
Pavel Kushnirskiy 25.02.2015 10:08
quelle
2

Alternativ zu Nic Robody können Sie auch %Co_de% :

%Vor%

HTML (mit ng-class ):

%Vor%     
mrzmyr 06.01.2015 02:51
quelle
0

Sie können einen cordova CLI-Hook verwenden, der bestimmte Platzhalter durch die tatsächliche Plattform oder einen plattformspezifischen Wert ersetzt. Ein Prepare-Hook zum Beispiel würde bei jedem Build aufgerufen. Wie der "platform add to body" -Haken, der von yeoman für ein cordova-Projekt generiert wird. Der Haken ist Teil des Projekts, also ist es unter Ihrer Kontrolle.

Hier ist ein schöner Überblick über Cordova-Bauhaken: Ссылка

    
asc 07.12.2014 22:19
quelle
0

Eine bessere Lösung besteht darin, die ionic.Platform.platform () -Methode zu verwenden, um die Geräteplattform unten zu erhalten:

In Ihrem Controller:

%Vor%

In Ihrem html:

%Vor%     
Ian Pinto 21.07.2016 07:38
quelle
0

Hinweis für zukünftige Ionic 2-Benutzer, die diese Frage beantworten: Ab Ionic 2 RC2 ist dies am einfachsten mit den Attributen "ios" und "md" für das ion-icon -Tag möglich. Hier ist ein Beispiel mit verschiedenen Icons für iOS und Android ("md" AKA Material Design):

%Vor%     
sherb 21.11.2016 22:59
quelle
0

Dafür, was es fast 3 Jahre später wert ist. Erstellen Sie einfach Ihre eigene Version der v2-Direktive.

%Vor% %Vor%     
alphapilgrim 16.10.2017 13:15
quelle

Tags und Links