Android自定义矢量缩放

问题描述 投票:0回答:2

我正在尝试创建自定义形状以用作菜单抽屉的背景。我遇到的问题是我无法获得我想要的形状。目前我正在Adobe Illustrator中创建svg形状,然后将converting创建为XML drawable,但它没有达到预期的效果。如何根据其父(match_parent)和内容(wrap_content)获得可绘制的矢量?

menu_shape.xml 我在这方面遇到的一个问题是,这种形状并不是完全响应的,因为它基本上被挤压以适合视口,因此根据屏幕尺寸的不同而表现极为不同。

<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
    android:viewportWidth="597.28"
    android:viewportHeight="542.16"
    android:width="597.28dp"
    android:height="542.16dp">
    <path
        android:pathData="M0.5 303.39V0.5H596.78V370.39S310.5 797.13 0.5 303.39Z"
        android:fillColor="#A92324"
        android:strokeColor="#231F20"
        android:strokeWidth="1"
        android:strokeMiterLimit="10" />
</vector>

目前的结果:

期望的结果: 期望的结果本质上是一个大的圆圈,略微向右偏移

android android-drawable android-shape
2个回答
1
投票

试试这个

<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
        android:viewportWidth="597.28"
        android:viewportHeight="542.16"
        android:width="597.28dp"
        android:height="542.16dp">
  <path
          android:pathData="M0.5 302.39V0.5H596.7V374.39S310.5 501.13 0.5 303.39Z"
          android:fillColor="#A92324"
          android:strokeColor="#231F20"
          android:strokeWidth="1"
          android:strokeMiterLimit="10" />
</vector>

0
投票

尝试形状xml代码

<?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape xmlns:android="http://schemas.android.com/apk/res/android"
                android:shape="rectangle">

                <padding android:left="-100dp"
                    android:top="-100dp"
                    android:right="-100dp"/>
            </shape>
        </item>
        <item>
            <shape xmlns:android="http://schemas.android.com/apk/res/android"
                android:shape="oval">
                <solid
                    android:color="#712EF1" />
            </shape>
        </item>
    </layer-list>
© www.soinside.com 2019 - 2024. All rights reserved.