Сначала давайте рассмотрим, как работают атрибуты в макете. Если вы используете библиотеку поддержки для обработки семейств шрифтов, вы должны написать что-то вроде этого:
<TextView
app:fontFamily="@font/myfont"
.../>
Если, с другой стороны, вы использовали Framework API (который существует только в API 16+), вы бы написали следующее:
<TextView
android:fontFamily="@font/myfont"
.../>
Когда вы создаете стили, все, что использовало бы пространство имен app:
в макете, просто не получает никакого пространства имен вообще. Таким образом, стиль, указывающий
<item name="fontFamily">
будет соответствовать первому примеру выше, а стиль, определяющий
<item name="android:fontFamily">
будет соответствовать второму примеру выше.
Какой бы метод вы ни выбрали, следует руководствоваться этим принципом. Если вы используете библиотеку поддержки, то удаление пространства имен - это хорошая вещь. Если вы не используете библиотеку поддержки, то удаление пространства имен - плохая вещь.
tl; dr : Отбрасывание пространства имен - хорошая идея в этой ситуации.