layer-list: переместить линию формы в нижней части с помощью отступа


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

Вот чего я хотел бы достичь:

Введите описание изображения здесь

Пока у меня есть это:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
        <stroke
            android:width="1dp"
            android:color="@android:color/black" />
        <corners android:radius="3dp" />
    </shape>
</item>
<item>
    <shape android:shape="line">
        <stroke android:color="@android:color/black" android:width="1dp"/>
    </shape>
</item>
</layer-list>

Которая показывает линию точно посередине, и я хотел бы иметь ее внизу, с также левым и правым отступом.

Есть ли способ достичь этого с помощью layer-list, или, может быть, есть лучший подход?
1 2

1 ответ:

<?xml version="1.0" encoding="utf-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
       <shape android:shape="rectangle" android:padding="10dp">
  <solid android:color="#ffffff"/>
  <stroke android:width="2dp" android:color="#ffffff" />
  <corners
      android:bottomRightRadius="5dp"
      android:bottomLeftRadius="5dp"
      android:topLeftRadius="5dp"
      android:topRightRadius="5dp"/>
</shape>
    </item>
<item android:top="20dp" android:right="5dp" android:left="5dp" >
        <shape android:shape="line">
            <solid android:color="@android:color/transparent" />
            <stroke
                android:width="2dp"
                android:color="#ababb2" />
        </shape>
    </item>
  </layer-list>