Как нарисовать прямоугольник внутри треугольника внутри XML Drawable Android? - PullRequest
0 голосов
/ 17 января 2019

Я хочу нарисовать фигуру, аналогичную приведенной ниже (светло-голубого цвета), чтобы я мог поместить ее в качестве фона для TextViews -

enter image description here

Очевидно, что было бы легко, если бы мне просто нужно было нарисовать прямоугольник, но по форме я тоже хочу внутренний треугольник.

Помоги мне, если кто-нибудь попробовал это.

Спасибо

Ответы [ 4 ]

0 голосов
/ 17 января 2019

Вы также можете попробовать это

<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" />
0 голосов
/ 17 января 2019

Попробуйте этот нарисованный файл и установите его в качестве фона для желаемого вида:

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>
0 голосов
/ 17 января 2019

Попробуйте этот код

<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>
0 голосов
/ 17 января 2019

вы можете сначала создать 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>
...