TextView-Farbton auf AppCompat

9

Ich habe ein paar Checkboxen und Radiobuttons mit Textansichten erstellt, aber sie bekommen keinen getönten Pre-Lollipop.

Meine Textansichten erweitern AppCompatCheckedTextView , werden wie folgt formatiert:

%Vor%

und ich habe meinen Akzent in meinem Thema definiert:

%Vor%

Ich baue gegen v21, mit einem Minimum von v16 und mit AppCompat v7-22.1.1. Meine Aktivitäten erweitern AppCompatActivity

    
DariusL 05.06.2015, 16:52
quelle

5 Antworten

8

Mit Blick auf die Quelle für AppCompatCheckedTextView habe ich es endlich herausgefunden. Es tönt nur checkMark . Da es von CheckedTextView stammt, was von TextView abstammt, wird drawableRight nur auf Lollipop getönt. Betrachtet man die Quelle für AppCompatTextView , bietet sie nur eine abwärtskompatible textAllCaps . So AFAIK, es gibt keine eingebaute Möglichkeit, drawableRight und ähnliches Pre-Lollipop einzufärben. Wenn Sie eine individuellere Lösung wünschen, müssen Sie Ihre Zeichen in ein Layout einfügen.

Der aktualisierte Stil:

%Vor%     
DariusL 08.07.2015, 10:55
quelle
6

Wenn jemand noch nach der Lösung sucht.

Für API-Ebene 23 & gt; = android:drawableTint="@color/colorPrimary"

Für API-Ebene & lt; Api Level 23 :

%Vor%     
Dipali s. 14.06.2017 13:52
quelle
3

Hier ist ein abwärtskompatibles TextView.

Verwendung:

%Vor%

gist

    
M. Reza Nasirloo 23.07.2017 22:14
quelle
1

Das in AppCompat getönte Widget funktioniert, indem es jede Layout-Inflation abfängt und an dessen Stelle eine spezielle, tönungsbewusste Version des Widgets einfügt.wenn Sie eine eigene benutzerdefinierte Version des Widgets haben, in Ihrem Fall die geprüfte Textansicht, die Tönung werde nicht arbeiten

Vom Entwickler-Blog unter Widget-Tönung

Ссылка

Bei Geräten mit Android 5.0 werden alle Widgets mit den Farbattributen getönt, über die wir gerade gesprochen haben. Es gibt zwei Hauptfunktionen, die dies auf Lollipop ermöglichen: Drawbare Tönung und Verweisen auf Designattribute (der Form? Attr / foo) in Zeichenvorlagen.

AppCompat bietet in früheren Versionen von Android ein ähnliches Verhalten für eine Teilmenge von UI-Widgets:

Alles, was von der AppCompat-Symbolleiste bereitgestellt wird (Aktionsmodi usw.)

EditText

Spinner

CheckBox

RadioButton

Wechseln Sie (verwenden Sie die neue android.support.v7.widget.SwitchCompat)

CheckedTextView

Sie müssen nichts Spezielles tun, um diese Aufgaben zu erledigen. Verwenden Sie einfach diese Steuerelemente in Ihren Layouts wie gewohnt und AppCompat erledigt den Rest (mit einigen Vorbehalten; siehe FAQ unten).

    
3xplore 08.07.2015 03:48
quelle
0

Ich habe ein Farbtonproblem. AppCompatTextView hat keinen Tönungseffekt, wenn das SDK unter 21 ausgeführt wird. Meine Lösung setzt die Tönungsfarbe über Java. Beispiel unten funktioniert.

xml

%Vor%

Java

%Vor%     
Young louis 24.03.2016 02:39
quelle

Tags und Links