创建带有圆角的三角形。

12
我需要创建带有圆角的三角形。这是我的代码:

<item android:gravity="center">
    <rotate
        android:fromDegrees="45"
        android:pivotX="-40%"
        android:pivotY="87%"
        android:toDegrees="45" >
        <shape android:shape="rectangle" >
            <corners android:radius="2dp"/>
            <solid android:color="#ffffff" >
            </solid>

            <stroke
                android:color="#ffffff" />

        </shape>

    </rotate>
</item>

我的代码只使三角形的一侧变成圆角,而另外两个角却没有圆角。请帮助我创建一个所有角都是圆角的三角形。


你把这个文件放在哪个drawable文件夹里了? - Jai
我将它仅保存在drawable文件夹中。 - Butterfly
你能否尝试为不同的4个属性应用半径? - Jai
我也尝试过,但不起作用。 - Butterfly
使用SVG可绘制对象代替简单形状。 - asissuthar
1个回答

9

enter image description here

创建triangle.xml文件到res/drawable目录中。
<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:height="50dp"
        android:width="50dp"
        android:viewportHeight="16.0"
        android:viewportWidth="16.0" >
    <path android:fillColor="@color/colorAccent" 
          android:pathData="M11.844,9.04L8.345,5.163c-0.195,-0.217 -0.511,-0.217 -0.705,0l-0.012,0.02L4.136,9.04c-0.195,0.217 -0.195,0.569 0,0.786l0.006,0.005C4.233,9.936 4.358,10 4.499,10h6.983c0.143,0 0.27,-0.068 0.359,-0.176l0.002,0.002C12.039,9.609 12.039,9.257 11.844,9.04z"/>
</vector>

通过更改android:fillColor可以更改三角形的颜色

并使用@drawable/triangle

这是一种简单的方法......因为简单的可绘制对象没有形状修改的高级功能。


我该如何更改pathData以设置更圆润的角? - Butterfly
使用InkscapeAdobe Illustrator创建或修改svg,然后在您的android ide中从本地svg创建矢量可绘制对象。 - asissuthar
你可以利用以上工具在安卓应用中创建任何形状。 - asissuthar
2
  1. 打开Inkscape
  2. 绘制形状
  3. 按下Shift+Ctrl+S
  4. 选择"纯SVG(*.svg)"
  5. 保存。
- asissuthar
1
然后打开这个链接(http://a-student.github.io/SvgToVectorDrawableConverter.Web/)将SVG转换为VectorDrawable。 - asissuthar
1
Inkscape 绝对是 Android Studio 项目必备的工具,因为它可以快速轻松地创建所需的形状。 - Redar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接