Ich möchte eine benutzerdefinierte Klasse erstellen, die eine Farbe als eines ihrer Attribute annimmt, wenn sie in einer Android-XML-Datei angeordnet ist. Eine Farbe könnte jedoch eine Ressource sein oder eine direkte Farbspezifikation (z. B. ein Hexadezimalwert). Gibt es eine einfache bevorzugte Methode, AttributeSet
zum Abrufen der Farbe zu verwenden, da eine Ganzzahl, die eine Farbe darstellt, entweder auf einen Ressourcenwert oder auf einen ARGB-Wert verweisen kann?
Nehmen wir an, Sie haben Ihr benutzerdefiniertes Farbattribut wie folgt definiert:
%Vor%Dann können Sie im Konstruktor Ihrer Ansicht die Farbe wie folgt abrufen:
%Vor%Sie müssen sich nicht wirklich sorgen, wie das Farbattribut ausgefüllt wurde, entweder so
%Vor%oder wie folgt:
%Vor% Die Methode getColor
gibt auf jeden Fall einen Farbwert zurück.