Как использовать собственный шрифт Roboto для ОС Android 4.1 в Eclipse, API 16 (fontFamily)

В версии 4.1 jellybean робот стал появляться во всем пользовательском интерфейсе системы. Я хотел бы использовать новый атрибут fontFamily в Eclipse, как описано в разделе Семейства шрифтов на этой странице: http://developer.android.com/about/versions/android-4.1.html#UI.

Цель состоит в том, чтобы использовать Roboto на всех устройствах, которые его поддерживают (без включения в / assets), и обеспечить постепенную деградацию шрифта до Droid sans на всех устройствах, отличных от 4.0+. Опять же, не хочу включать в мой .apk, поймите, что это достаточно легко сделать.

Хотелось бы увидеть образец кода или отзывы об успешном использовании fontFamily с API 16.


person jayseattle    schedule 10.08.2012    source источник
comment
Если вы используете стандартные TextViews, Android сделает это автоматически, шрифт устанавливать не нужно.   -  person Steven Schoen    schedule 11.08.2012


Ответы (1)


Это довольно просто, поскольку более старые версии Android будут игнорировать атрибуты xml, которые они не понимают, вы можете просто установить их в текстовых представлениях или стилях вашего приложения. Или вы можете установить его вручную в коде, но это больше работы: p

И если вы используете обычную версию Roboto, вам не нужно делать ничего особенного, она используется по умолчанию в 4.0+ (вам может понадобиться голографическая тема, я не помню), а также доступны полужирный и курсивный шрифт Roboto. используя атрибут TextStyle TextView.

В xml

<TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:fontFamily="sans-serif-light"
      />

Или в коде

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN){
    textView.setTypeface(Typeface.create("sans-serif-light", Typeface.NORMAL));         
}
person smith324    schedule 17.11.2012