Иногда нужно, чтобы текст был виден на любой неоднородной или движущейся поверхности (фоне). Например, вам нужно наложить субтитры поверх видео. Т.е. варианты когда, неоднородный фон может двигаться или осуществляться анимация. Или наоборот вы двигаете текст по фону. Для этого можно просто наложить на текст “тени”. Т.е. в ваш макет надо добавить следующее android:shadowColor="#00FF00"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="2" Здесь задается цвет тени, смещение по X и Y и радиус. shadowRadius - определяет, насколько тень должна быть размыта по краям. На примере кнопки: <Button
android:id="@+id/button_1"
android:onClick="onSendMessage_button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content”
android:text="@string/button_text"
android:background="@drawable/button_background"
android:textColor="#000000" android:textAllCaps="false"
android:textStyle="bold"
android:shadowColor="#FF000