如何在 xml drawable android 中绘制矩形内端三角形?
How to draw a rectangle inner inside end triangle shape in xml drawable android?
我想画一个像下面一样的形状(浅蓝色),这样我就可以把它作为 TextViews 的背景 -
显然,如果我只需要绘制一个矩形可能会很容易,但在形状上我也想要一个内三角形。
如果有人试过这个,请帮助我。
谢谢
您可以先创建 SVG,然后将其转换为 Vector
已更新:
<?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>
试试这个可绘制文件并将其设置为所需视图的背景:
Ribbon.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>
试试这个代码
<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>
你也可以试试这个
<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>
和您的 TextView 作为:
<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" />
我想画一个像下面一样的形状(浅蓝色),这样我就可以把它作为 TextViews 的背景 -
显然,如果我只需要绘制一个矩形可能会很容易,但在形状上我也想要一个内三角形。
如果有人试过这个,请帮助我。
谢谢
您可以先创建 SVG,然后将其转换为 Vector
已更新:
<?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>
试试这个可绘制文件并将其设置为所需视图的背景:
Ribbon.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>
试试这个代码
<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>
你也可以试试这个
<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>
和您的 TextView 作为:
<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" />