删除填充或强制拟合,或从方形矢量资产中删除空白以拟合矩形按钮?

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

我正在尝试将all_inclusive svg image调整为我的矩形按钮。形状本身也是矩形,但矢量资产是正方形(24x24),在形状的上方和下方都有空白。这些空间迫使形状本身非常小。如何使全包式svg为矩形,但删除顶部和底部的填充?

annoying_infinity

在此图片中,图像被设置为适合左侧,顶部和右侧的准则:

    <ImageView
        android:id="@+id/imgInfinity"
        app:srcCompat="@drawable/ic_infinity"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintDimensionRatio="1:1"
        app:layout_constraintTop_toTopOf="0.75"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toEndOf="0.75"
        app:layout_constraintEnd_toEndOf="0.25" />

无效的内容:

  • 枢轴矢量资产with a group->我只是无法弄清楚尺寸,而不会弄乱原始形状。与scaleX / Y或translateX / Y相同的存储。我可以用其他形状更简单的按钮来工作。
  • 调整android:viewportheight或android:height->将图片变形为怪异的形式
  • 在线作物svg->,因为Google原始的SVG pathData已经有580个字符长,裁剪工具仅使其变大,Android可以处理(超过1000个字符)
  • 使用文字裁剪svg图片并从zip文件中提取->它不会压缩svg图片,因此它与上方和下方的空白保持矩形。
  • 为图片的顶部设置单独的水平指导线。它可以解决问题,但是每个图像的一个或多个准则会非常混乱。必须有更好的方法,对吧?。
android svg imageview padding crop
1个回答
0
投票

[使用可以处理SVG文件的图像编辑器来裁剪图像。我使用了InkScape,但还有其他功能。裁剪图像后,您可以将其作为XML文件导入到Android Studio中。

这里是生成的裁剪图像文件:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="10.76dp"
    android:viewportWidth="24"
    android:viewportHeight="10.76">
  <path
      android:fillColor="#FF000000"
      android:pathData="M18.6,0C17.16,0 15.8,0.56 14.83,1.53L12,4.04 10.48,5.38h0.01L7.8,7.77C7.16,8.41 6.31,8.76 5.4,8.76 3.53,8.76 2.01,7.25 2.01,5.38 2.01,3.51 3.53,2 5.4,2 6.31,2 7.16,2.35 7.84,3.03l1.13,1L10.48,2.69 9.22,1.58C8.2,0.56 6.84,0 5.4,0 2.42,0 0,2.42 0,5.38c0,2.96 2.42,5.38 5.4,5.38 1.44,0 2.8,-0.56 3.77,-1.53L12,6.73 12.01,6.74 13.52,5.38H13.51L16.2,2.99C16.84,2.35 17.69,2 18.6,2c1.87,0 3.39,1.51 3.39,3.38 0,1.87 -1.52,3.38 -3.39,3.38 -0.9,0 -1.76,-0.35 -2.44,-1.03l-1.14,-1.01 -1.51,1.34 1.27,1.12c1.02,1.01 2.37,1.57 3.82,1.57 2.98,0 5.4,-2.41 5.4,-5.38C24,2.4 21.58,0 18.6,0Z"/>
</vector>
© www.soinside.com 2019 - 2024. All rights reserved.