Ich weiß, dass ich Opazität durch Hinzufügen eines Alphakanals in hex (#AARRGGBB) festlegen kann, aber was ist, wenn ich einen Wert aus meiner colors.xml verwenden möchte, der ich sonst keine Deckkraft hinzufügen möchte?Wie setze ich die Deckkraft einer Farbressource?
Zum Beispiel verwende ich eine dunkelblaue Farbe von # 074EB2 in meinem Colors.xml, als solche:
<color name="DarkBlue">#074EB2</color>
Nun, ich habe eine benutzerdefinierte Schaltfläche Hintergrund mit einem Rand. Ich möchte, dass die Umrandung diese dunkelblaue Farbe verwendet, aber eine Deckkraft hinzugefügt hat. Die Schaltfläche sieht so aus:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/DarkBlue"/>
<corners android:radius="2dp"/>
</shape>
Wie kann ich die Opazität hinzufügen? Muss ich colors.xml einen neuen Wert mit Opazität hinzufügen? dh <color name="DarkBlueTransparent">#80074EB2</color>
? Das Problem, das ich damit sehe, ist, dass es nicht skalierbar ist - was, wenn ich woanders habe, dass diese Farbe 80% Opazität braucht? 90%? Meine colors.xml-Datei würde mit verschiedenen Werten explodieren, wie transparent ich die Dinge haben möchte.
Machen Sie entweder mehr Ressourcen oder stellen Sie die Deckkraft des Containers auf das ein, was Sie benötigen. – Shaishav
"Meine colors.xml-Datei würde mit verschiedenen Werten explodieren, wie transparent ich die Dinge haben möchte." "Ja wirklich?" Sie brauchen wirklich so viele Transparenzstufen für verschiedene Farben? Wie DarkBlue70Percent und DarkBlue71Percent? – Salem
Übertrieben, aber Sie bekommen den Punkt. –