bottomsheetdialogfragment圆角
时间: 2025-06-15 16:20:26 浏览: 12
BottomSheetDialogFragment 是 Android 中的一个 DialogFragment 类型,用于显示底部滑出式对话框。如果你想给这个对话框添加圆角,你可以通过自定义样式或直接在布局 XML 文件中设置 View 的 cornerRadii 属性。
1. **自定义样式**:创建一个新的主题,在 styles.xml 文件中添加 `?android:attr/dialogCornerRadius` 属性,例如:
```xml
<style name="MyCustomBottomSheet" parent="@style/Theme.MaterialComponents.Dialog">
<item name="android:windowIsFloating">true</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:dialogCornerRadius">8dp</item> <!-- 设置圆角大小 -->
</style>
```
然后在 BottomSheetDialogFragment 的构造函数里设置样式:
```java
BottomSheetDialog dialog = new BottomSheetDialog(requireContext(), R.style.MyCustomBottomSheet);
```
2. **XML布局**:在 fragment 的 layout XML 文件中,可以在根视图上应用 cornerRadius 属性,比如 `<View style="@style/Widget.MaterialComponents.BottomSheet.Modal"` 并设置 `android:cornerRadius`。
记得在实际使用前检查你的 API 级别,因为某些属性在早期版本中可能不可用。如果你需要兼容较老的设备,可能还需要额外处理。
阅读全文
相关推荐


















