VectorDrawable图像在ImageView中看起来缩小了

时间:2018-03-13 10:44:24

标签: android android-vectordrawable

VectorDrawable图像在ImageView中看起来很小。请查看Imageview周围的空间

这是我的前景 VectorDrawable图片的xml文件,该文件保存在drawable文件夹中

 <vector xmlns:android="http://schemas.android.com/apk/res/android"
            android:width="108dp"
            android:height="108dp"
            android:viewportWidth="91.83673"
            android:viewportHeight="91.83673">
        <group android:translateX="0.9183673"
                android:translateY="38.918365">
            <path
                android:pathData="M49.245,0l0,13.057l-3.88,0l0,-8.612l-4.026,8.731l-2.396,0l-3.872,-8.731l0,8.612l-2.806,0l0,-13.057l5.074,0l3.464,7.993l3.624,-7.993z"
                android:strokeColor="#00000000"
                android:fillType="evenOdd"
                android:fillColor="#FFFFFF"
                android:strokeWidth="1"/>
            <path
                android:pathData="M61.856,0l0,2.435l-6.074,0l0,2.922l5.297,0l0,2.196l-5.297,0l0,3.067l6.199,0l0,2.556l-10.189,0l0,-13.176z"
                android:strokeColor="#00000000"
                android:fillType="evenOdd"
                android:fillColor="#FFFFFF"
                android:strokeWidth="1"/>
            <path
                android:pathData="M76.415,0l0,13.176l-4.309,0l-4.836,-8.451l0,8.451l-2.741,0l0,-13.176l4.435,0l4.711,8.306l0,-8.306z"
                android:strokeColor="#00000000"
                android:fillType="evenOdd"
                android:fillColor="#FFFFFF"
                android:strokeWidth="1"/>
        </group>
    </vector>

这是xml代码&amp;查看(宽度和高度为wrap_content)

代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/inner_circle_light_blue">

    <ImageView
        android:layout_marginTop="50dp"
        android:id="@+id/imageview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:src="@drawable/foreground" />

</RelativeLayout>

enter image description here

这是xml代码&amp;查看(宽度和高度I&#39; m取自dimens.xml)

代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/inner_circle_light_blue">

    <ImageView
        android:layout_marginTop="50dp"
        android:id="@+id/imageview"
        android:layout_width="@dimen/width"
        android:layout_height="@dimen/height"
        android:layout_centerHorizontal="true"
        android:src="@drawable/foreground" />

</RelativeLayout>

enter image description here

1 个答案:

答案 0 :(得分:0)

我假设你的VectorDrawable是作为SVG开始的。

你的问题是你的SVG被设计成一个更大的方形画布中间的一小段文字。转换为VectorDrawable后,保留了过大的画布大小。 VectorDrawable中的viewportWidthviewportHeight属性描述了文档区域。它们大约是92x92,但你的文字大小只有44x13。

你需要确保:

  1. 您的文字符合文档的大小,或
  2. 在保存
  3. 之前,将文档大小调整为对象(文本)的大小

    如果您使用的是Inkscape,则可以通过简单的方法执行选项#2。在保存并转换为VectorDrawable之前,从菜单中选择Edit -> Resize Page to Selection

    其他编辑应该具有类似的功能。如果没有,那么你总是可以在转换之前通过Inkscape运行它。