【问题标题】:drawing a triangle using Vector path and XML in android在android中使用矢量路径和XML绘制三角形
【发布时间】:2018-06-11 01:07:46
【问题描述】:

我找到了如何画一个三角形,但我现在需要旋转它,我似乎无法做到..

我的目标是达到这个目标:

到目前为止,我已经找到了这段代码:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="40dp"
    android:height="40dp"
    android:viewportHeight="100"
    android:viewportWidth="100">
    <group android:name="triableGroup">
        <path
            android:name="triangle"
            android:fillColor="@color/some_color"
            android:pathData="m 50,0 l 50,50 -100,0 z" />
    </group>
</vector>

但它看起来像这样:

【问题讨论】:

  • 那你为什么不使用像inkscape这样的矢量图形工具呢?是的,它是免费的

标签: android xml svg vector drawable


【解决方案1】:

一种方法是在group 中添加这些属性:

android:pivotX="50"
android:pivotY="50"
android:rotation="45"

【讨论】:

  • 它可以工作,但由于某种原因,当我在 ImageView 上使用它时,它有一个填充。填充是从哪里来的?
  • 我的猜测是您将 viewport 设置为 100,但是通过旋转 45° 的三角形,您不再填充该区域,因此填充。
  • 那我该如何克服呢?
  • 如果你画出已经旋转的三角形应该没问题。试试这条路径M0,0 L100,0 L100,100 z 并且没有任何旋转。
【解决方案2】:

我知道这个问题已经得到解答, 但是请按照这种方式制作您自己的自定义矢量可绘制。

为了使您自己的自定义矢量可绘制将您的图像转换为 svg 或 psd 格式并将您的图像上传到 android studio,如下所示。

第1步:右键点击drawable文件夹,进入new,然后选择像这样的矢量资源。

第 2 步:现在选中本地文件(SVG、PSD)单选按钮并上传您的 SVG 或 PSD 文件。

还有什么!最后,您将获得矢量可绘制文件。 快乐编码!

【讨论】:

    【解决方案3】:
    <vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="40dp"
        android:height="40dp"
        android:viewportHeight="100"
        android:viewportWidth="100">
        <group android:name="triableGroup">
            <path
                android:name="triangle"
                android:fillColor="@color/some_color"
                android:pathData="M 0,0 L50,0 50,50 z" />
        </group>
    </vector>
    

    【讨论】:

      猜你喜欢
      • 2016-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-22
      相关资源
      最近更新 更多