我知道可以在XML主题中使用的android:actionModeBackground
。
有没有办法在代码中设置此背景?
基本上我需要等价的ActionMode
getActionBar().setBackgroundDrawable(drawable);
最佳答案
我想出了反射帮助。因为我没有 Action 栏
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) {
}
}
另外,还有两种ActionMode实现:StandaloneActionMode和ActionModeImpl。此示例仅适用于第一个。对于第二个,它将是相同的