首页 > 解决方案 > 在 xml 文件中创建一个圆圈实际上不是一个圆圈

问题描述

我有一个从左到右动画的渐变视图。我有一个描述内部圆圈的 XML,但 XML 的边框实际上是矩形的,如您所见,我怎样才能隐藏 XML 外部的溢出。看起来只有背景是圆形而不是形状本身,我认为解决方案是使用 PorterDuff.Mode 但它没有帮助。

这是我的 circle.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <stroke
        android:width="2dp"
        android:color="@android:color/white" />

    <corners android:radius="7.5dp" />
    <size android:width="327dp" android:height="211.5dp" />

</shape> 

在我的布局中,我像这样使用它:

  <RelativeLayout
        android:id="@+id/white_rectangle"
        android:layout_width="327dp"
        android:layout_height="211.5dp"
        android:layout_gravity="center"
        android:clipChildren="true"
        android:adjustViewBounds="true"
        android:background="@drawable/circle"
        >

        <View
            android:id="@+id/scanner"
            android:layout_width="123.5dp"
            android:layout_height="211.5dp"
            android:layout_gravity="center"
            android:background="@drawable/scanner"
            android:visibility="gone" />

    </RelativeLayout>

扫描器

我不希望扫描仪超出边界

标签: android

解决方案


我的解决方案是使用 CardView 并给它 cardCornerRadius。

在这里找到它如何在带有圆角的android中制作视图


推荐阅读