BottomSheetDialog — удалить прозрачное пространство ниже

#android

#Android

Вопрос:

У меня есть BottomSheetDialog в Android, но нижняя часть (которая перекрывает панель навигации) прозрачна, есть ли какой-нибудь способ сделать ее белой?

Я установил цвет панели навигации для действия на белый, и это, похоже, запускает прозрачную область:

 <item name="android:navigationBarColor">@color/white</item>
  

Я не думаю, что это имеет значение, но я установил стиль BottomSheetDialog на RoundedBottomSheetDialog , чтобы создать закругленные углы:

 <style name="RoundedBottomSheetDialog" parent="Theme.Design.Light.BottomSheetDialog">
    <item name="bottomSheetStyle">@style/bottomSheetStyleWrapper</item>
</style>

<style name="bottomSheetStyleWrapper" parent="Widget.Design.BottomSheet.Modal">
    <item name="android:background">@android:color/transparent</item>
</style>
  

введите описание изображения здесь

Ответ №1:

Попробуйте добавить эту строку внутри RoundedBottomSheetDialog :

 <item name="android:windowIsFloating">false</item>
  

Смотрите здесь проект, который правильно реализует это:

https://github.com/gavingt/SunCalculator/blob/master/app/src/main/res/values-v27/styles.xml

И смотрите здесь ссылку, которую я использовал при создании вышеупомянутого проекта:

https://medium.com/halcyon-mobile/implementing-googles-refreshed-modal-bottom-sheet-4e76cb5de65b