Цвет ваших закругленных углов зависит от цвета нижнего контейнера для листов. Чтобы определить, как сделать наши прозрачные углы, нам нужно осмотреть макет. Инспектор макетов идентифицирует ключевые компоненты, которые нас интересуют: сам нижний лист ( id / bottomSheet ) и его фрейм ( id / design_bottom_sheet ).
![enter image description here](https://i.stack.imgur.com/LJHZj.png)
Нам потребуется изменить цвет фона рамки нижнего листа, id / design_bottom_sheet , на прозрачный, чтобы получить наши закругленные углы.
Найти кадр легко, как только он станет доступен. Одно место для установки фона рамки после создания диалога и создания фрагмента достаточно далеко: onActivityCreated () вашего пользовательского BottomSheetDialogFragment . На этом этапе жизненного цикла фрагмента создается иерархия представления.
@Override
public void onActivityCreated(Bundle bundle) {
super.onActivityCreated(bundle);
View frameParent = ((View) getDialog().findViewById(R.id.bottomSheet).getParent());
frameParent.setBackgroundColor(Color.TRANSPARENT);
}
![enter image description here](https://i.stack.imgur.com/WaU9T.png)
Вы также можете просто сделать findViewById()
для самого кадра:
getDialog().findViewById(R.id.design_bottom_sheet).setBackgroundColor(Color.TRANSPARENT)
В любом случае зависит от знания внутренней структуры BottomSheetDialogFragment , поэтому выберите тот, который вы предпочитаете.