Я нашел хорошее решение с этим:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="-1dp" android:right="-1dp" android:left="-1dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke android:width="1dp" android:color="#ffffff" />
</shape>
</item>
</layer-list>
Это хорошо работает, если вам нужен прозрачный фон, но цвет обводки открыт (в моем случае мне нужна была только нижняя строка). Если вам нужен цвет фона, вы можете добавить цвет сплошной формы, как в ответе Марага.
ИЗМЕНИТЬ 1
Иногда для устройств с высокой плотностью использование низких значений падения может заканчиваться очень тонкими или невидимыми штрихами или расстояниями. Это может случиться с вами также при установке разделителей ListView.
Самый простой обходной путь - использовать расстояние 1 пиксель вместо 1 dp. Это сделает линию всегда видимой при любой плотности. Лучшим решением было бы создать ресурсы размеров для каждой плотности, чтобы получить наилучший размер для каждого устройства.
Редактировать 2
Забавно, но я попытался использовать это 6 лет спустя, и я не могу получить хороший результат на устройствах Lollipop.
Вероятно, текущее решение - использовать 9-патч. За все это время Android должен был найти простое решение этой проблемы.