Текст с фигурами в ресурсах с возможностью рисования

Могу ли я создать текстовую форму в ресурсе с возможностью рисования? Я много искал, но ничего не нашел … Вот мой доступный файл:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval"> <stroke android:width="3dp" android:color="#QQffQQ"/> <size android:width="120dp" android:height="120dp"/> </shape> </item> <item android:right="59dp" android:left="59dp"> <shape android:shape="rectangle"> <solid android:color="£22££20"/> </shape> </item> <item android:top="59dp" android:bottom="59dp"> <shape android:shape="rectangle"> <solid android:color="£20££20"/> </shape> </item> <item> <!--text should be here--> </item> </layer-list> 

Нет, вы не можете этого сделать. Однако почему бы не установить Drawable в качестве фона для TextView а затем просто установить текст в TextView , который будет отображаться над другими слоями вашего Drawable ?

Вместо этого вы можете использовать перенос вектора (скажем, путем преобразования из svg-файла).
Затем используйте вектор как один из слоев.
Это позволяет создать единый чертеж без каких-либо TextViews, поэтому вы можете легко использовать его как windowBackground в своей теме заставки.

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:angle="270" android:startColor="#C3DAE0" android:endColor="#FFFFFF" android:type="linear"/> </shape> </item> <item android:gravity="center" android:drawable="@drawable/ic_splash_text"/> </layer-list> 

Где ic_splash_text – вектор, переносимый текстом.

Не забудьте добавить поддержку векторов, если вы нацелились на API <21. Для этого вы должны:

  1. Добавьте в свой модуль build.gradle (уровень приложения):

    Android {
    VectorDrawables.useSupportLibrary = true.
    }

  2. Зарегистрировать делегата в статическом блоке вашей деятельности:

    Static {
    AppCompatDelegate.setCompatVectorFromResourcesEnabled (истина);
    }