ich in Not bin der Vergleich zweier PorterDuffColorFilter Objekte, wenn ein ProgressBar
ist die Anzeige der richtigen Farbe in einem Espresso-Testzwei PorterDuffColorFilter Vergleicht man Objekte
ich direkt die beiden Objekte zu vergleichen versucht haben, zu überprüfen, aber die folgende Methode gibt immer false
:
// Creating a PorterDuffColorFilter Object
weakOrNonePasswordColorFilter =
new PorterDuffColorFilter(ContextCompat.getColor(mActivityRule.getActivity(), R.color.red), PorterDuff.Mode.SRC_IN);
...
// Retrieving the ProgressBar ColorFilter and compare
public boolean matchesSafely(ProgressBar progressBar, PorterDuffColorFilter colorFilter) {
LayerDrawable drawable = (LayerDrawable) progressBar.getProgressDrawable();
Drawable progressDrawable = drawable.getDrawable(1);
progressDrawable.setColorFilter(colorFilter);
return ((PorterDuffColorFilter)progressDrawable.getColorFilter()).equals(colorFilter);
}
Blick in die PorterDuffColorFilter
ein
Methode, die mein Problem lösen sollte. Ich kann jedoch nicht auf diese Methode zugreifen. Android Studio zeigt nur die "Object" -Methoden an, und wenn ich versuche, die App mit dem zu kompilieren. getColor()
wird eine Fehlermeldung angezeigt, dass die Methode nicht gefunden wurde.
Tritt dieses Problem aufgrund der Tatsache auf, dass diese Klasse in -Paket ist, wodurch es nicht zugänglich ist?
Wenn ja, wie kann ich die Farbe des ProgressBar
Balkens abrufen und mit einer Farbe vergleichen?
könnten Sie bitte den Code teilen, so können wir helfen? –
Sie können 'PorterDuffColorFilter' erweitern aber ehrlich Ihr Problem riecht nach [XY-Problem] (http://xyproduct.info/) – pskink
Wenn ja, wie kann ich in einem Espressotest testen, dass die Fortschrittsbalken die richtige Farbe haben? – Vanethos