如何制作只有上角圆角的BottomSheetDialog? [复制]

Posted

技术标签:

【中文标题】如何制作只有上角圆角的BottomSheetDialog? [复制]【英文标题】:How to make BottomSheetDialog with only Upper corners rounded? [duplicate] 【发布时间】:2021-10-07 14:38:59 【问题描述】:

这就是我想要实现的。 我的底部工作表的根是 MaterialCardView。 以下是我尝试过的方法,但没有得到确切的结果:

    直接添加背景drawable和setBackgroundColor(Color.TRANSPARENT)。

    在styles.xml中添加了背景drawable,然后将该样式添加到MaterialCardView。

    在 MaterialCardView 中添加 cardCornerRadius 并调整插图。

谁能帮帮我?

【问题讨论】:

【参考方案1】:

我建议您不要使用 Material Card View,而只需为您的父布局提供一个背景。您可以按如下方式创建可绘制对象

<?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>

MaterialCardView 的问题是,据我所知,它没有将角半径应用于特定角的实用程序。所以你可以简单地使用和分配一个自定义的drawable。

还有一个名为 Material Dialogs 的库。如果您不想自己做这一切,这可能会帮助您更多。

【讨论】:

我应用了第一种技术,删除了 MaterialCardView,使用 LinearLayout 作为 root 并在 xml 和编程中设置背景。还是不行。

以上是关于如何制作只有上角圆角的BottomSheetDialog? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

带圆角的可滚动表格

WPF如何制作圆角Datepicker

ImageView 只有一个圆角

使用 UIBezierPath 的带有圆角的 TableView 页眉和页脚

如何制作左上圆角和左下圆角的形状?

如何制作带圆角的窗户