0

Коллеги, добрый день. К сожалению я не очень разбираюсь в кастомных вьюхах, поэтому хочу спросить следующее: Как можно реализовать BottomSheet примерно следующего вида(attach)? Сам BottomSheet сделать не проблема - проблема сделать для него такой закруглённый задний фон. Пробовал через shape, но ничего хорошего не получилось.закруглённый задний фон

задан 4 мая 2022 в 16:06
4
  • можно через VectorDrawable Commented 4 мая 2022 в 16:49
  • нашел отличное решение в другом топике на стаке stackoverflow.com/questions/32002541/… Commented 19 мая 2022 в 9:24
  • там где используются dp не может быть отличным решением - будет все съезжать на разных экранах и ориентациях. Commented 19 мая 2022 в 10:21
  • Всегда можно dimens разнести под разные экраны Commented 20 мая 2022 в 18:18

1 ответ 1

1

Создайте пользовательский rounded_dialog.xml:

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle">
 <solid android:color="@android:color/white"/>
 <corners android:topLeftRadius="16dp"
 android:topRightRadius="16dp"/>
</shape>

Затем переопределите bottomSheetDialogTheme на styles.xml используя bottomSheetDialogTheme в качестве фона:

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
 <item name="bottomSheetDialogTheme">@style/AppBottomSheetDialogTheme</item>
</style>
<style name="AppBottomSheetDialogTheme"
 parent="Theme.Design.Light.BottomSheetDialog">
 <item name="bottomSheetStyle">@style/AppModalStyle</item>
</style>
<style name="AppModalStyle"
 parent="Widget.Design.BottomSheet.Modal">
 <item name="android:background">@drawable/rounded_dialog</item>
</style>

короче нужно задавать background через style!

ответ дан 4 мая 2022 в 22:25
2
  • А что из этого даст такое специфическое закругление? Дизайнеры не стали париться по этому поводу и сделали его огромным кругом 1100х1100, кусочек которого как раз помещается на экран. <corners android:topLeftRadius="16dp" android:topRightRadius="16dp"/> в этом случае не поможет - это закруглит чуть с боков, но не даст такой округлости по всему верху Commented 5 мая 2022 в 9:02
  • Ну так меняйте 16dp на 500dp в чем проблема? Commented 5 мая 2022 в 10:02

Ваш ответ

Черновик сохранён
Черновик удалён

Зарегистрируйтесь или войдите

Регистрация через Google
Регистрация через почту

Отправить без регистрации

Необходима, но никому не показывается

Отправить без регистрации

Необходима, но никому не показывается

Нажимая «Отправить ответ», вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.

Начните задавать вопросы и получать на них ответы

Найдите ответ на свой вопрос, задав его.

Задать вопрос

Изучите связанные вопросы

Посмотрите похожие вопросы с этими метками.