Ich möchte den Hintergrund einer Ansicht ändern und das ist der einzige Weg, den ich gefunden habe. Aber ich bekomme eine Nachricht, dass es nur mit bestimmten APIs funktioniert. Kann ich es irgendwie bis zu API 15 arbeiten lassen? Oder gibt es eigentlich eine bessere Methode, um dem Benutzer eine Schaltfläche anzuzeigen?View.setBackgroundTintList vor API 21?
1
A
Antwort
2
ViewCompat.setBackgroundTintList() wird der Trick bis API 4.
Wendet einen Farbton auf dem Hintergrund ziehbar.
Dies wird immer wirksam, wenn auf API v21 oder neuer ausgeführt wird. Wenn es auf Plattformen vor API v21 ausgeführt wird, wird es nur wirksam, wenn View die Schnittstelle TintableBackgroundView implementiert.
1
Ja,
Verwendung von Java-Code können Sie auf diese Weise so wie ziehbar Farbe jeder Ansicht ändern:
public static void setIconColor(TextView tv, int which, int color) {
tv.getCompoundDrawables()[which].mutate();
tv.getCompoundDrawables()[which].setColorFilter(ContextCompat.getColor(tv.getContext(), color), PorterDuff.Mode.SRC_ATOP);
}
public static void setIconColor(ImageView imageView, int color) {
imageView.getDrawable().mutate();
imageView.getDrawable().setColorFilter(ContextCompat.getColor(imageView.getContext(), color), PorterDuff.Mode.SRC_ATOP);
}
Für User Button Ausgewählte? Sie sollten verwenden
android:background="?attr/selectableItemBackground"
Ich hoffe, es hilft Ihnen!
Verwandte Themen
- 1. Android radiale Gradienten vor API 21
- 2. Android USB-Host DeviceConnection.setInterface vor API Level 21
- 3. Verwenden von Vektorbildern mit Android: DrawableTop vor API-Ebene 21
- 4. Wie erreichen Sie Material Design Komponenten vor API 21?
- 5. PercentRelativeLayout für api 21
- 6. Android API 21 Toolbar Padding
- 7. Android API 21 - TimePicker Widget
- 8. Android API 21 9patch Fehler?
- 9. finishAndRemoveTask() verfügbar auf API 21
- 10. AppCompatButton backgroundTint API <21
- 11. TextView setShowSoftInputOnFocus äquivalent vor SDK 21?
- 12. Gmail API für Android SDK 21
- 13. android.support.graphics.drawable.VectorDrawableCompat arbeiten nicht nur auf Api 21
- 14. Timepicker nicht nennen OnTimeChanged in API-21
- 15. Stil von editiertext in API unter 21
- 16. Genymotion Dosis nicht mit API 21
- 17. libbinder statische kompilieren Fehler ndk11c api 21
- 18. Android checkMarkGravity Attribut CheckedTextView (api 21)
- 19. Alertdialog.Builder setview: Aufruf erfordert API-Ebene 21
- 20. Symbolleiste nicht in API angezeigt <21
- 21. Aufruf erfordert API-Ebene 21 (derzeit 14)
- 22. Ranges in Kotlin unter API 21
- 23. ListView verschachtelt Scrollen auf API <21
- 24. Downgrade Android SDK (api 23 -> api 21)
- 25. Erwarteter primärer Ausdruck vor ']' Token ...... Zeile 10 Spalte 21
- 26. Uneinheitliche FloatingActionButton Polsterung mit useCompatPadding auf API 21 oder höher
- 27. Android: setOverlapAnchor vor API 23
- 28. Wie man Elevation auf Android API hinzufügen <21
- 29. Aufruf erfordert API Level 21 (Kamera2 auf Geräten unter 21 laufen?)
- 30. Warum: Math.floor (2e + 21)! = ~~ (2e + 21)
Danke es funktioniert, obwohl das Klicken hat diese wirklich hässliche Animation. – newToEverything