BottomSheetDialogFragment: как предотвратить затемнение NavigationBar
В моей теме для API 27 я хочу иметь белую панель навигации, которая работает нормально, но когда я показываю свой bottomSheetDialogFragment, система уменьшает размер моей панели навигации, как в диалоге. Можно ли без новых компонентов из новой темы материала предотвратить затемнение с панели навигации? Вот некоторые фрагменты кода:
// Тема API 27
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowLightNavigationBar">true</item>
<item name="android:navigationBarColor">@android:color/white</item>
<item name="android:navigationBarDividerColor">@color/colorDivider</item>
</style>
// BottomSheet
public class MenuBottomSheet extends BottomSheetDialogFragment {
public static MenuBottomSheet newInstance(Bundle bundle) {
MenuBottomSheet sheet = new MenuBottomSheet();
sheet.setArguments(bundle);
return sheet;
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.sheet_menu, container, false);
View sheetLayout = view.findViewById(R.id.sheet_menu_layout);
final BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(sheetLayout);
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
return view;
}
}
// Показать BottomSheet
private void showItemMenu(final Bundle args) {
FragmentManager fragmentManager = getFragmentManager();
if (fragmentManager != null) {
MenuBottomSheet menuSheet = MenuBottomSheet.newInstance(args);
menuSheet.setTargetFragment(this, REQUEST_CODE);
menuSheet.show(fragmentManager, null);
}
}
Наконец-то я нашел решение, сделав сам:
Запретить BottomSheetDialogFragment, закрывающий панель навигации