2017-11-28 4 views
2

Ich frage mich nur, ob jemand in der Lage war, adaptive Icons auf Cordova für Android Oreo zu setzen? Ich benutze das Android 6.4.0 und mein quadratisches Symbol schrumpft, um in den Kreis zu passen. Ich will nur, dass es nicht schrumpft. Es ist mir egal, wenn die Ecken von der Rundung abgeschnitten werden.Android Oreo - wie setze ich Adaptive Icons in Cordova?

+0

@CharliePrynn tut meine Antwort Hilfe? –

+0

Danke für Ihre Hilfe @CharliePrynn. Ich werde es in der nächsten Version unserer App testen müssen. – jkdude

Antwort

0

Sie müssen zuerst Cordova auf 7.0 aktualisieren. Cordova 7.0 bietet Unterstützung für Android Oreo. Sobald Sie eine Anwendung mit Cordova 7 erstellt haben, müssen Sie die adaptiven Symbole mit dem nativen Android-Code manuell erstellen. Diese Medium blog wird Ihnen dabei helfen. Sobald Sie Ihre Adaptive Icons erstellt haben, können Sie sie zu Ihren config.xml wie dieses Add -

<platform name="android"> 
    <!-- 
     ldpi : 36x36 px 
     mdpi : 48x48 px 
     hdpi : 72x72 px 
     xhdpi : 96x96 px 
     xxhdpi : 144x144 px 
     xxxhdpi : 192x192 px 
    --> 
    <icon src="res/android/ldpi.png" density="ldpi" /> 
    <icon src="res/android/mdpi.png" density="mdpi" /> 
    <icon src="res/android/hdpi.png" density="hdpi" /> 
    <icon src="res/android/xhdpi.png" density="xhdpi" /> 
    <icon src="res/android/xxhdpi.png" density="xxhdpi" /> 
    <icon src="res/android/xxxhdpi.png" density="xxxhdpi" /> 
</platform> 
+0

Adaptive Symbole verwenden Vordergrund- und Hintergrund-XML-Dateien, die über Image Asset Studio generiert werden können. Wie werden diese Dateien über die Datei config.xml in Cordova geladen? –

1

Soweit ich weiß, hat Cordova nicht Adaptive Icons noch gesetzt. Aber es ist einfach genug, dies manuell zu tun, nachdem Sie Cordova Build ausgeführt haben.

android ändern: Symbol in AndroidManifest.xml:

<application android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:supportsRtl="true"> 

erstellen ic_launcher.xml in res/ziehbar mit:

<?xml version="1.0" encoding="utf-8"?> 
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> 
    <background android:drawable="@drawable/ic_launcher_background"/> 
    <foreground android:drawable="@drawable/ic_launcher_foreground"/> 
</adaptive-icon> 

dann Ihre zwei Vektor-Dateien ic_launcher_background.xml und ic_launcher_foreground hinzufügen. xml in res/zeichnbar. Diese können mit diesem Werkzeug erstellt werden: http://inloop.github.io/svg2android/

Und weg Sie gehen! Ich hoffe Cordova bäckt das bald in ihren Builds.

6

habe ich die Symbole in https://developer.android.com/studio/write/image-asset-studio.html#create-adaptive beschrieben, kopiert sie res/android und verwenden Sie die folgende Konfiguration:

config.xml:

<widget ... xmlns:android="http://schemas.android.com/apk/res/android"> 
    <platform name="android"> 
     <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application"> 
      <application android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" /> 
     </edit-config> 
     <resource-file src="res/android/drawable/ic_launcher_background.xml" target="app/src/main/res/drawable/ic_launcher_background.xml" /> 
     <resource-file src="res/android/drawable/ic_launcher_foreground.xml" target="app/src/main/res/drawable/ic_launcher_foreground.xml" /> 
     <resource-file src="res/android/mipmap-anydpi-v26/ic_launcher.xml" target="app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" /> 
     <resource-file src="res/android/mipmap-anydpi-v26/ic_launcher_round.xml" target="app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" /> 
     <resource-file src="res/android/mipmap-hdpi/ic_launcher.png" target="app/src/main/res/mipmap-hdpi/ic_launcher.png" /> 
     <resource-file src="res/android/mipmap-hdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-hdpi/ic_launcher_round.png" /> 
     <resource-file src="res/android/mipmap-mdpi/ic_launcher.png" target="app/src/main/res/mipmap-mdpi/ic_launcher.png" /> 
     <resource-file src="res/android/mipmap-mdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-mdpi/ic_launcher_round.png" /> 
     <resource-file src="res/android/mipmap-xhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xhdpi/ic_launcher.png" /> 
     <resource-file src="res/android/mipmap-xhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xhdpi/ic_launcher_round.png" /> 
     <resource-file src="res/android/mipmap-xxhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xxhdpi/ic_launcher.png" /> 
     <resource-file src="res/android/mipmap-xxhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png" /> 
     <resource-file src="res/android/mipmap-xxxhdpi/ic_launcher.png" target="app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" /> 
     <resource-file src="res/android/mipmap-xxxhdpi/ic_launcher_round.png" target="app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" /> 
    </platform>  
</widget> 
+0

Ich habe die Assets mit Android Studio erstellt, auf res/android von root des Phonegap-Projekts kopiert, die XML-Datei in config.xml hinzugefügt und mein Symbol wird immer noch als kleines quadratisches Symbol innerhalb des weißen Backround-Kreises angezeigt . Ich benutze Phonegap 7.1.1. Irgendwelche Ideen, was ich falsch machen könnte? –

+0

@CalebPitman Versuchen Sie, den Ordner "platforms" zu löschen und anschließend die Umgebung "cordova prepare" erneut zu erstellen. – 0x6368656174

+1

Ich musste 'app/src/main' aus dem' target' entfernen, damit dies funktioniert. – Jespertheend

Verwandte Themen