Ich versuche, die Palettenfunktion von androids material design zu verwenden, aber ich habe einige Probleme bei der Anwendung.
Ich habe die Palette erfolgreich erstellt und versuche nun, die Palette in eine Funktion zu übergeben, die sie anwendet.
Das Problem, das ich habe, ist, dass, wenn ich die Palette an die Funktion applyPalette
übergebe, keine der Methoden wie palette.getDarkMutedColor().getRgb() , palette.getVibrantColor().getRgb()
mit den Werten aus der Palette gefüllt wird.
Das Tutorial, dem ich gefolgt bin, erwähnte nichts anderes, als die Palette an die Funktion zu übergeben, und dabei würden die Methoden ausgefüllt werden
Dies ist die Generatorfunktion und die Anwendungsfunktion, kann jemand sehen, warum das nicht funktioniert?
Code
%Vor%Verwenden Sie die Picassopalette-Third-Party-Bibliothek und importieren Sie sie in Ihr Projekt. Verwenden Sie dann den folgenden Code:
%Vor% In der Dokumentation finden Sie alle Anrufe, die Sie von% verwenden. co_de% gibt bereits einen RGB-Wert zurück, erfordert jedoch die Ausgabe einer Standardfarbe. Vielleicht wollten Sie stattdessen diejenigen verwenden, die ein Farbfeld zurückgeben? Zum Beispiel würde statt Palette
stattdessen stattdessen palette.getVibrantColor().getRgb()
verwendet. Ersetzen Sie alle get Color-Aufrufe durch den entsprechenden get Swatch () -Aufruf.
Stellen Sie außerdem sicher, dass palette.getVibrantSwatch().getRgb()
in Ihren Importen enthalten ist und dass Sie import android.support.v7.graphics.Palette
in Ihre Abhängigkeiten einschließen. Version 22.1.0 ist das Minimum, da Sie compile 'com.android.support:palette-v7:22.1.0'
verwenden.
Sie haben es auf synchrone Weise versucht. Also ich denke unten Code löst Ihr Problem (auf asynchrone Weise).
%Vor%Ich versuche, die Palettenfunktion von androids material design zu verwenden, aber ich habe einige Probleme bei der Anwendung.
Ich habe die Palette erfolgreich erstellt und versuche nun, die Palette in eine Funktion zu übergeben, die sie anwendet.
Das Problem, das ich habe, ist, dass, wenn ich die Palette an die Funktion Palette.Swatch
übergebe, keine der Methoden wie %code% mit den Werten aus der Palette gefüllt wird.
Das Tutorial, dem ich gefolgt bin, erwähnte nichts anderes, als die Palette an die Funktion zu übergeben, und dabei würden die Methoden ausgefüllt werden
Dies ist die Generatorfunktion und die Anwendungsfunktion, kann jemand sehen, warum das nicht funktioniert?
Code
%Vor%Verwenden Sie die Picassopalette-Third-Party-Bibliothek und importieren Sie sie in Ihr Projekt. Verwenden Sie dann den folgenden Code:
%Vor%Das erste, was ich nicht weiß, warum Sie keinen Fehler bekommen haben, wenn Sie
schreiben %Vor%Ich nehme an, dass Sie keinen Fehler erhalten haben, also müssen Sie die alte Bibliothek verwenden. Wie im aktualisierten Format akzeptiert es einen Parameter als Standardfarbwert. Um RGB besser zu extrahieren, muss man %code% object erhalten und RGB-Werte erhalten. Ich habe eine kleine funktionierende einfache App erstellt, um zu demonstrieren, wie man die verbesserte Bibliothek benutzt. Sie können das hier überprüfen. Hoffe, das hilft.
In der Dokumentation finden Sie alle Anrufe, die Sie von% verwenden. co_de% gibt bereits einen RGB-Wert zurück, erfordert jedoch die Ausgabe einer Standardfarbe. Vielleicht wollten Sie stattdessen diejenigen verwenden, die ein Farbfeld zurückgeben? Zum Beispiel würde statt %code% stattdessen stattdessen %code% verwendet. Ersetzen Sie alle get Color-Aufrufe durch den entsprechenden get Swatch () -Aufruf.
Stellen Sie außerdem sicher, dass %code% in Ihren Importen enthalten ist und dass Sie %code% in Ihre Abhängigkeiten einschließen. Version 22.1.0 ist das Minimum, da Sie %code% verwenden.
Tags und Links android android-palette