Android 怎么用dialogCornerRadius
时间: 2024-09-10 17:22:27 浏览: 47
3568 Android 11 GMS包
5星 · 资源好评率100%
在Android中,`dialogCornerRadius`属性用于设置对话框(DialogFragment 或 AlertDialog)的圆角样式。如果你想给一个对话框添加圆角,你需要通过创建自定义的Dialog主题或者修改现有对话框的样式来进行。以下是一个简单的例子:
1. **创建自定义Dialog主题**:
首先,在你的styles.xml文件中添加一个新的主题,例如:
```xml
<style name="CustomDialogTheme" parent="Theme.MaterialComponents.Dialog.Alert">
<item name="android:windowBackground">@android:color/white</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item> <!-- 如果需要背景透明 -->
<item name="android:windowFrame">@null</item> <!-- 移除边框 -->
<item name="android:cornerRadius">?attr/dialogCornerRadius</item> <!-- 设置圆角 -->
<!-- 可以调整其他对话框样式属性 -->
</style>
```
然后,当你创建对话框时,使用这个主题:
```java
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context, R.style.CustomDialogTheme);
```
2. **动态设置corners radius**:
如果你想在运行时动态改变对话框的圆角大小,可以这样做:
```java
AlertDialog alertDialog = dialogBuilder.create();
alertDialog.getWindow().setCornerRadius(myDesiredRadius); // myDesiredRadius是你想要的圆角半径值,单位为dp
```
注意:`dialogCornerRadius`不是系统直接提供的属性,所以可能需要你自己计算或从布局资源中获取所需的值。
阅读全文