ОБНОВЛЕНИЕ
Та же проблема присутствует в последнем приложении Gmail. Я до сих пор не понимаю, зачем Google вносить такие неприятные изменения в интерфейс. Одержимость во мне сходит с ума всякий раз, когда я это вижу
ВОПРОС
У меня есть эта странная проблема с appcompat-v7 23. Проблема, которую я собираюсь описать, не возникает с 22 сериями.
Вы можете получить исходный код, который воспроизводит эту форму выпуска: https://github.com/devserv/t/ После создания вы можете нажать и удерживать элемент в списке, чтобы активировать режим ActionMode
Проблема:
В ActionMode appcompat превращает строку состояния в черный цвет. Этого не произойдет, если я не использую следующие
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
в моем стиле v21, но я должен использовать его, потому что я хочу, чтобы мой навигационный ящик смотрел за строку состояния.
Раньше я использовал следующее, чтобы избежать черной строки состояния, когда ActionMode запускался и заканчивался
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getActivity().getWindow().setStatusBarColor(getResources().getColor(R.color.appColorPrimaryDark));
}
}
public void onDestroyActionMode(ActionMode actionMode) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getActivity().getWindow().setStatusBarColor(getResources().getColor(android.R.color.transparent));
}
mMode = null;
}
Приведенный выше код не создавал / избегал черной строки состояния, но не работает должным образом в v23 appcompat. Вместо этого вы видите короткую черную строку состояния, когда ActionMode уничтожен. Похоже, это связано с анимацией, которая воспроизводится при уничтожении ActionMode.
Я пытался открыть отчеты об ошибках, но они были отклонены с комментариями.
Don't re-create bugs.
Я что-то пропустил?
Вот скриншоты для нормального и режима действия.
com.android.support:design:28.0.0-rc01
. - person Soren Stoutner   schedule 16.08.2018