Ответ 1
Создайте ресурс, пригодный для рисования, который включает только пространство имен XML как атрибут для формы. В зависимости от того, хотите ли вы создать сплошной или градиентный холст, изменится содержимое элемента формы.
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The content of the shape will go here. -->
</shape>
Если вам нужен сплошной холст, добавьте твердый элемент в элемент формы с атрибутом android:color
, установленным на некоторый цвет с альфой.
<solid
android:color="#88000000"/>
Если вам нужен градиентный холст, добавьте элемент градиента со следующими атрибутами из пространства имен android: angle
, centerY
, startColor
, centerColor
, endColor
и type
. Если вы хотите следовать принципам дизайна материалов, как и в представленном вами изображении, элемент градиента должен иметь следующие значения:
<gradient
android:angle="90"
android:centerY="0.3"
android:startColor="#CC000000"
android:centerColor="#66000000"
android:endColor="#00000000"
android:type="linear"/>
Это хорошая идея, чтобы эти значения были извлечены и помещены в соответствующие файлы ресурсов, такие как dimens.xml
и colors.xml
, так что scrim может измениться в зависимости от конфигурации устройства.
После того как вы сохранили файл с сохранением формы, вы можете добавить его на задний план вашего TextView
с помощью атрибута android:background
. Используя TextView
, который вы указали, и предположив, что вы назвали файл scrim scrim.xml
, модификация будет следующей:
<TextView
android:id="@+id/eventName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="2dip"
android:textColor="#000000"
android:textSize="15sp"
android:maxLines="5"
android:gravity="center"
android:layout_alignParentBottom="true"
android:text="Event Name"
android:background="@drawable/scrim"/>