android java中的圆角视频视图

问题描述

在我的应用程序中,我想将视频视图显示为圆角。我尝试将 videoview/surfaceview 放置在 linearlayout 中,圆角设置为 linearlayout。但它不能完美地工作。我无法将圆角设置为 videoview/surfaceview。

解决方法

这是圆形视频视图的 XML 代码。

<androidx.cardview.widget.CardView
            android:id="@+id/videoCard"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="16dp"
            android:layout_marginBottom="16dp"
            app:cardCornerRadius="20dp"
            card_view:cardBackgroundColor="@color/white">

            <VideoView
                android:id="@+id/relativeVideo"
                android:layout_width="match_parent"
                android:layout_height="225dp"
                android:paddingTop="-10dp"
                android:paddingBottom="-10dp" />
        </androidx.cardview.widget.CardView>

负填充很重要,否则 VideoView 的高度在顶部和底部都比 cardview 小一半的cornerRadius。您可以随意设置高度,但负内边距应始终为 cardCornerRadius 的一半。

祝您有美好的一天!

enter image description here