如何为所有屏幕尺寸创建几何形状?
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 设置整个视图。现在它在各种分辨率的设备上都能正常工作
我想为 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 设置整个视图。现在它在各种分辨率的设备上都能正常工作