如何为所有屏幕尺寸创建几何形状?

How to create geometric shape for all of the screen sizes?

我想为 Android 中的所有屏幕尺寸创建几何形状。 我为这种情况编写了代码。但是我的形状在其他屏幕尺寸下会发生变化。 我想创建像 following picture

这样的形状

我的代码是:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate android:fromDegrees="0">
            <shape android:shape="rectangle">
                <solid android:color="@color/colorPrimaryDark" />
            </shape>
        </rotate>
    </item>

    <item android:top="180dp" android:bottom="-100dp" android:left="-70dp" android:right="-50dp">
        <rotate android:fromDegrees="6">
            <shape android:shape="rectangle">
                <solid android:color="@color/base_color6" />
            </shape>
        </rotate>
    </item>
</layer-list>

我这样做了,但它在不同的分辨率下中断了。由于视角扭曲,导致严重 UI 问题。为了打破这一点,我创建了一个具有该角度的 WEBP Image 并将其设置为背景。并在 ConstraintLayout 中使用 group 和 barrier 设置整个视图。现在它在各种分辨率的设备上都能正常工作