如何保持VectorDrawable的宽高比?

时间:2016-04-26 12:55:54

标签: android android-vectordrawable

我一直在尝试为Android应用创建启动画面,如下所述 Splash Screens the Right Way | Big Nerd Ranch带有样式

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/background_splash</item>
</style>

background_splash看起来像

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/background"/>
    <item android:drawable="@drawable/sparrow"/>
</layer-list>

sparrow.xml看起来像

<vector android:height="240dp"
    android:width="240dp"
    android:viewportHeight="512.0"
    android:viewportWidth="512.0"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#e000"
        android:pathData="M407.2,55.2c-20.8,2.4 -42.9,16.8 -65.6,42.7 -4.5,5.1, lot of data here ,-8.2z" android:strokeColor="#00000000"/>
    <path android:fillColor="#cc0000"
        android:pathData="M474,98.9c-12.6,3.9 -17.8,15.3 -12.4,26.8 1.4,2.8 3.1,5.4 3.9,5.7 1.3,0.5 11.4,-0.5 20.5,-1.9 1.4,-0.2 5,-0.6 8,-1 8,-0.8 11.1,-1.6 10.8,-2.5 -0.3,-0.7 -5.1,-6.4 -21.4,-25.3 -2.4,-2.7 -4.7,-3.2 -9.4,-1.8z" android:strokeColor="#00000000"/>
</vector>

但是,我看到的问题是,当设备屏幕上显示vector的宽度和高度属性所定义的宽高比为1:1时,不会保持该宽高比。例如,在android studio

中显示如下圈

in android studio

但是,上面的图像在设备上显示如下,因为它接管了所有可用的高度。

on device

0 个答案:

没有答案