ich mit Reflexion Hilfe herausgefunden. Weil ich habe nicht eine ActionBar
public static void setActionModeBackgroundColor(ActionMode actionMode, int color) {
try {
StandaloneActionMode standaloneActionMode = (StandaloneActionMode) actionMode;
Field mContextView = StandaloneActionMode.class.getDeclaredField("mContextView");
mContextView.setAccessible(true);
Object value = mContextView.get(standaloneActionMode);
((View) value).setBackground(new ColorDrawable(color));
} catch (Throwable ignore) {
}
}
Auch gibt es zwei Implementierungen von ActionMode: StandaloneActionMode und ActionModeImpl. Dieses Beispiel nur für den Ersten. Für die zweite wird es gleich
Die Verwendung von Reflektion würde wahrscheinlich funktionieren, aber es bedeutet, dass man sich die Hände schmutzig macht mit Dingen, die man eigentlich nicht anfassen sollte. Außerdem gibt es keine Garantie für die Vorwärts- und/oder Rückwärtskompatibilität für eine solche Lösung. Wie auch immer, nur ein Gedanke. –
Sie können die Antwort in dieser Frage finden: http://stackoverflow.com/questions/6556116/how-can-i-customize-the-action-modes-color-and-text –
Sie müssen Reflexion benutzen. [Wie Hintergrund des ActionMode der ActionBar zu animieren?] (Http://stackoverflow.com/questions/23457709/how-to-animate-background-of-actionmode-of-the-actionbar) – adneal