代码之家  ›  专栏  ›  技术社区  ›  Bajrang Hudda

如何在XML可绘制Android中绘制矩形内端三角形?

  •  -1
  • Bajrang Hudda  · 技术社区  · 6 年前

    我想画一个和下面相同的形状(浅蓝色),这样我可以把它作为文本视图的背景。-

    enter image description here

    很明显,如果我只需要画一个矩形,这很容易,但在形状上,我也需要一个内三角形。

    如果有人尝试过,请帮助我。

    谢谢

    4 回复  |  直到 6 年前
        1
  •  1
  •   Akshay Paliwal    6 年前

    你也可以试试这个

    <vector xmlns:android="http://schemas.android.com/apk/res/android"
            android:width="100dp"
            android:height="50dp"
            android:viewportWidth="100.0"
            android:viewportHeight="100.0">
        <path
            android:fillColor="#8BC34A"
            android:pathData="M 0,0 L 100,0 90,50 100,100 0,100 z"/>
    </vector>
    

    你的 文本框 AS:

    <TextView
    android:id="@+id/text_id"
    android:layout_width="100dp"
    android:layout_height="25dp"
    android:layout_margin="@dimen/common_margin"
    android:background="@drawable/you_drawable_here"
    android:gravity="start|center"
    android:paddingEnd="20dp"
    android:text="your text here"
    android:textColor="@color/white"
    android:textSize="10sp"
    android:textStyle="bold"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
    
        2
  •  1
  •   Adil    6 年前

    您可以先创建SVG,然后将其转换为矢量

    更新:

        <?xml version="1.0" encoding="utf-8"?>
    <vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:viewportWidth="640"
        android:viewportHeight="640"
        android:width="24dp"
        android:height="24dp">
        <path
            android:pathData="M526.63 383.78l-466.32 0 0 -234.7"
            android:fillColor="#3498DB" />
        <path
            android:pathData="M526.63 383.78L417.45 266.43 526.63 151.12 60.31 150"
            android:fillColor="#3498DB"/>
    </vector>
    
        3
  •  0
  •   Deep Patel    6 年前

    尝试此可绘图文件并将其设置为所需视图的背景:

    XML

    <?xml version="1.0" encoding="utf-8"?>
    <vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:viewportWidth="640"
        android:viewportHeight="640"
        android:width="24dp"
        android:height="24dp">
        <path
            android:pathData="M526.63 383.78l-466.32 0 0 -234.7"
            android:fillColor="#3498DB" />
        <path
            android:pathData="M526.63 383.78L417.45 266.43 526.63 151.12 60.31 149.08"
            android:fillColor="#3498DB"/>
    </vector>
    
        4
  •  0
  •   Praveen    6 年前

    试试这个代码

    <vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:height="100dp"
        android:width="100dp"
        android:viewportHeight="100"
        android:viewportWidth="100">
    
        <path
            android:name="dark_triangle"
            android:fillColor="#5ad0e6"
            android:pathData="M 10,0 L 0,100 100,100 z" />
    
        <path
            android:name="light_triangle"
            android:fillColor="#5ad0e6"
            android:pathData="M 0,0 L 100,0 0,100 z" />
    
    </vector>