web-dev-qa-db-de.com

Farbe der Materialikonen ändern?

Ich habe hier eine Reihe von Material-Icons heruntergeladen:

https://material.io/icons/

Ich bin verwirrt, wie ich die Farbe dieser Symbole als Drawables ändern kann. Ich habe eine Button mit einem Symbol in der drawableLeft-Eigenschaft und dann eine Anzahl von ImageButton mit gesetzten Symbolen wie folgt:

<Button
    Android:text="Hey"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:drawableLeft="@drawable/ic_arrow_upward_black_24dp"
    Android:stateListAnimator="@null" />

<ImageButton
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_arrow_downward_black_24dp"
    Android:background="@null" />

Wie kann ich die Farbe der Symbole ändern?

Wenn die von mir heruntergeladenen Symbole schwarz sind, wie kann ich außerdem die Farbe der Symbole mit Transparenz transparent machen?

10
user7332813

Sie wissen, Alle Materialsymbole unter https://material.io/icons/ sind jetzt in Android Studio verfügbar, Sie brauchen sie nicht einmal herunterladen. Klicken Sie einfach mit der rechten Maustaste auf drawables> Neu> Vektor-Asset.

Sie erhalten einen Dialog wie

 this

Nachdem Sie auf das kleine Android-Symbol geklickt haben, wählen Sie Ihr Bild aus und speichern Sie es. Dadurch wird ein xml drawable erstellt, das nach Ihren Wünschen geöffnet und bearbeitet werden kann

So wird es aussehen

<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
        Android:alpha="0.8" <!--set the transparency from here -->
        Android:width="24dp"
        Android:height="24dp"
        Android:viewportWidth="24.0"
        Android:viewportHeight="24.0">
    <path
        Android:fillColor="#FF000000" <!-- Use this for setting your color -->
        Android:pathData="M9.4,16.6L4.8,12l4.6,-4.6L8,6l-6,6 6,6 1.4,-1.4zM14.6,16.6l4.6,-4.6 -4.6,-4.6L16,6l6,6 -6,6 -1.4,-1.4z"/>
</vector>
30

Fügen Sie dies Ihrem ImageButton in Ihrer XML-Layoutdatei hinzu

Android:tint="@color/black"
Android:tintMode="@color/black"
5
firegloves

Alle appcompat-Widgets unterstützen das Android:tint="@color/somecolorresource"-Attribut. Wenn Ihre Aktivität/Ihr Fragment AppCompatActivity/Fragment verlängert, funktioniert dies für jeden ImageView/TextView/ImageButton/....

Siehe: https://stackoverflow.com/a/37261384/3662251

1
code_mc

Wenn Ihre Symbole Vektoren sind, können Sie die XML-Datei bearbeiten und das Android:fillColor-Attribut ändern. Wenn es sich bei den Symbolen um Bitmaps handelt, können Sie dem ImageButton das Attribut Android:tint hinzufügen.

1
Karol Jurski

Dieser Link eignet sich hervorragend zum Bearbeiten von Symbolen. Sie können auch Symbole mit transparentem Hintergrund erstellen. hoffe das hilft.

0
Simo