Android Как сделать прозрачный прямоугольник с непрозрачным снаружи XML - PullRequest
1 голос
/ 26 апреля 2020

Я создал макет так, чтобы граница была установлена ​​на drawable с закругленными углами. Когда я устанавливаю фон для текстового представления внутри этого макета, угол становится острым.

Вот мой XML выглядит так.

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/det_event_time"
    android:layout_marginTop="50dp"
    android:id="@+id/det_action_buttons"
    android:layout_marginStart="50dp"
    android:layout_marginEnd="50dp"
    android:background="@drawable/detail_approval_round"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Approve"
            android:padding="10dp"
            android:textAlignment="center"
            android:textColor="@android:color/black"
            android:layout_weight="1"
            android:id="@+id/det_action_approve"/>

        <View
            android:layout_width="1px"
            android:layout_height="match_parent"
            android:background="@color/violet"/>

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Reject"
            android:layout_weight="1"
            android:textAlignment="center"
            android:textColor="@android:color/black"
            android:padding="10dp"
            android:id="@+id/det_action_reject"/>

    </LinearLayout>

    <View
        android:layout_width="wrap_content"
        android:layout_height="1px"
        android:background="@color/violet"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Cancel"
            android:padding="10dp"
            android:textColor="@android:color/black"
            android:textAlignment="center"
            android:layout_weight="1"
            android:id="@+id/det_action_cancel"/>

        <View
            android:layout_width="1px"
            android:layout_height="match_parent"
            android:background="@color/violet"/>

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Pending"
            android:layout_weight="1"
            android:background="@color/violet"
            android:textColor="@android:color/white"
            android:textAlignment="center"
            android:padding="10dp"
            android:id="@+id/det_action_pending"/>

    </LinearLayout>

</LinearLayout>

Вывод, который я получаю, похож на ниже

enter image description here

Может ли кто-нибудь помочь мне сделать нижний правый угол круглым, когда я устанавливаю фон для TextViews? Можем ли мы сделать это без использования drawable для каждого TextView?

1 Ответ

0 голосов
/ 27 апреля 2020

Вы можете использовать фон. xml файл с радиусом в правом нижнем углу.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="rectangle">
        <corners android:bottomRightRadius="10dp" />
        <solid android:color="#444444" />
    </shape>
 </item>
</selector>

И установить фон Textview.

 <TextView
        ...
        android:background="@drawable/background"
        />
...